Changeset 3311867
- Timestamp:
- 06/15/2025 11:10:42 AM (10 months ago)
- Location:
- ai-tool-center
- Files:
-
- 8 edited
-
tags/1.2.0/includes/class-aitoce-shortcodes.php (modified) (2 diffs)
-
tags/1.2.0/public/css/aitoce-nimbot-googlecode.css (modified) (1 diff)
-
tags/1.2.0/public/js/aitoce-public-nimbot-highlight.js (modified) (1 diff)
-
tags/1.2.0/public/partials/aitoce-public-nimbot-display.php (modified) (2 diffs)
-
trunk/includes/class-aitoce-shortcodes.php (modified) (2 diffs)
-
trunk/public/css/aitoce-nimbot-googlecode.css (modified) (1 diff)
-
trunk/public/js/aitoce-public-nimbot-highlight.js (modified) (1 diff)
-
trunk/public/partials/aitoce-public-nimbot-display.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ai-tool-center/tags/1.2.0/includes/class-aitoce-shortcodes.php
r3311710 r3311867 72 72 ob_start(); 73 73 ?> 74 74 75 <style> 75 76 .aitoce-page-chat-box { 76 border-top-left-radius: 77 <?php echo esc_attr($header_radius); ?> 78 px; 79 border-top-right-radius: 80 <?php echo esc_attr($header_radius); ?> 81 px; 82 border-bottom-left-radius: 83 <?php echo esc_attr($header_radius); ?> 84 px; 85 border-bottom-right-radius: 86 <?php echo esc_attr($header_radius); ?> 87 px; 77 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 78 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 79 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 80 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 88 81 } 89 82 90 83 .aitoce-page-chat-header { 91 color: 92 <?php echo esc_attr($header_text); ?> 93 ; 94 background-color: 95 <?php echo esc_attr($header_background); ?> 96 ; 97 border-top-left-radius: 98 <?php echo esc_attr($header_radius); ?> 99 px; 100 border-top-right-radius: 101 <?php echo esc_attr($header_radius); ?> 102 px; 84 color: <?php echo esc_attr($header_text); ?>; 85 background-color: <?php echo esc_attr($header_background); ?>; 86 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 87 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 103 88 } 104 89 105 90 .aitoce-page-chat-input-area { 106 background-color: 107 <?php echo esc_attr($header_background); ?> 108 ; 109 border-bottom-left-radius: 110 <?php echo esc_attr($header_radius); ?> 111 px; 112 border-bottom-right-radius: 113 <?php echo esc_attr($header_radius); ?> 114 px; 91 background-color: <?php echo esc_attr($header_background); ?>; 92 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 93 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 115 94 } 116 95 117 96 .aitoce-page-chat-messages { 118 height: 119 <?php echo esc_attr($message_height); ?> 120 px; 121 max-height: 122 <?php echo esc_attr($message_height); ?> 123 px; 124 background-color: 125 <?php echo esc_attr($message_background); ?> 126 ; 97 height: <?php echo esc_attr($message_height); ?>px; 98 max-height: <?php echo esc_attr($message_height); ?>px; 99 background-color: <?php echo esc_attr($message_background); ?>; 127 100 } 128 101 129 102 .aitoce-page-chat-input { 130 color: 131 <?php echo esc_attr($input_text); ?> 132 ; 133 background-color: 134 <?php echo esc_attr($input_background); ?> 135 ; 136 border-radius: 137 <?php echo esc_attr($input_radius); ?> 138 px; 103 color: <?php echo esc_attr($input_text); ?>; 104 background-color: <?php echo esc_attr($input_background); ?>; 105 border-radius: <?php echo esc_attr($input_radius); ?>px; 139 106 } 140 107 141 108 .aitoce-page-user-message { 142 color: 143 <?php echo esc_attr($client_message_text); ?> 144 ; 145 background-color: 146 <?php echo esc_attr($client_message_background); ?> 147 ; 148 border-radius: 149 <?php echo esc_attr($client_message_radius); ?> 150 px; 109 color: <?php echo esc_attr($client_message_text); ?>; 110 background-color: <?php echo esc_attr($client_message_background); ?>; 111 border-radius: <?php echo esc_attr($client_message_radius); ?>px; 151 112 } 152 113 153 114 .aitoce-page-bot-message { 154 color: 155 <?php echo esc_attr($nimbot_reply_text); ?> 156 ; 157 background-color: 158 <?php echo esc_attr($nimbot_reply_background); ?> 159 ; 160 border-radius: 161 <?php echo esc_attr($nimbot_reply_radius); ?> 162 px; 115 color: <?php echo esc_attr($nimbot_reply_text); ?>; 116 background-color: <?php echo esc_attr($nimbot_reply_background); ?>; 117 border-radius: <?php echo esc_attr($nimbot_reply_radius); ?>px; 163 118 } 164 119 165 120 .aitoce-page-send-btn { 166 color: 167 <?php echo esc_attr($send_button_text); ?> 168 ; 169 background-color: 170 <?php echo esc_attr($send_button_background); ?> 171 ; 172 border-radius: 173 <?php echo esc_attr($send_button_radius); ?> 174 px; 121 color: <?php echo esc_attr($send_button_text); ?>; 122 background-color: <?php echo esc_attr($send_button_background); ?>; 123 border-radius: <?php echo esc_attr($send_button_radius); ?>px; 175 124 } 176 125 177 126 .aitoce-page-send-btn:hover { 178 color: 179 <?php echo esc_attr($send_button_text_hover); ?> 180 ; 181 background-color: 182 <?php echo esc_attr($send_button_background_hover); ?> 183 ; 127 color: <?php echo esc_attr($send_button_text_hover); ?>; 128 background-color: <?php echo esc_attr($send_button_background_hover); ?>; 184 129 } 185 130 </style> … … 199 144 <div id="aitoce-chat-input-area" class="aitoce-page-chat-input-area"> 200 145 <textarea id="aitoce-page-input" class="aitoce-page-chat-input" rows="3" 201 placeholder="<?php esc_html_e('Type a message...', 'ai-tool-center'); ?>" ></textarea>146 placeholder="<?php esc_html_e('Type a message...', 'ai-tool-center'); ?>" aria-label="Page Message Input"></textarea> 202 147 <div id="aitoce-page-send-btn" class="aitoce-page-send-btn"><?php esc_html_e('Send', 'ai-tool-center'); ?> 203 148 </div> -
ai-tool-center/tags/1.2.0/public/css/aitoce-nimbot-googlecode.css
r3311710 r3311867 12 12 Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less 13 13 */ 14 #aitoce-page-bot-message pre { 15 padding: 5px; 16 border-radius: 5px; 17 } 18 14 19 pre code.hljs { 15 20 display: block; 16 21 overflow-x: auto; 17 padding: 0.6em; 22 padding: 5px; 23 border-radius: 5px; 18 24 } 19 25 -
ai-tool-center/tags/1.2.0/public/js/aitoce-public-nimbot-highlight.js
r3311710 r3311867 4 4 License: BSD-3-Clause 5 5 */ 6 var hljs=function(){"use strict";function e(n){7 return n instanceof Map?n.clear=n.delete=n.set=()=>{8 throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{9 throw Error("set is read-only")10 }),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{11 const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a)12 })),n}class n{constructor(e){13 void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}14 ignoreMatch(){this.isMatchIgnored=!0}}function t(e){15 return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")16 }function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n]17 ;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope18 ;class r{constructor(e,n){19 this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){20 this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{21 if(e.startsWith("language:"))return e.replace("language:","language-")22 ;if(e.includes(".")){const t=e.split(".")23 ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ")24 }return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)}25 closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){26 this.buffer+=`<span class="${e}">`}}const s=(e={})=>{const n={children:[]}27 ;return Object.assign(n,e),n};class o{constructor(){28 this.rootNode=s(),this.stack=[this.rootNode]}get top(){29 return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){30 this.top.children.push(e)}openNode(e){const n=s({scope:e})31 ;this.add(n),this.stack.push(n)}closeNode(){32 if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){33 for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}34 walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){35 return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),36 n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){37 "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{38 o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e}39 addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){40 this.closeNode()}__addSublanguage(e,n){const t=e.root41 ;n&&(t.scope="language:"+n),this.add(t)}toHTML(){42 return new r(this,this.options).value()}finalize(){43 return this.closeAllNodes(),!0}}function c(e){44 return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")}45 function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")}46 function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{47 const n=e[e.length-1]48 ;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}49 })(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"}50 function p(e){return RegExp(e.toString()+"|").exec("").length-1}51 const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./52 ;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t53 ;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break}54 i+=a.substring(0,e.index),55 a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0],56 "("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)}57 const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",N={58 begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'",59 illegal:"\\n",contains:[N]},x={scope:"string",begin:'"',end:'"',illegal:"\\n",60 contains:[N]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n,61 contains:[]},t);i.contains.push({scope:"doctag",62 begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",63 end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0})64 ;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)65 ;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i66 },M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({67 __proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:N,BINARY_NUMBER_MODE:{68 scope:"number",begin:v,relevance:0},BINARY_NUMBER_RE:v,COMMENT:O,69 C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number",70 begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{71 "on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{72 n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f,73 MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0},74 NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y,75 PHRASAL_WORDS_MODE:{76 begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/77 },QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,78 end:/\/[gimuy]*/,contains:[N,{begin:/\[/,end:/\]/,relevance:0,contains:[N]}]},79 RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",80 SHEBANG:(e={})=>{const n=/^#![ ]*\//81 ;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n,82 end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},83 TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E,84 UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){85 "."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){86 void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){87 n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",88 e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,89 void 0===e.relevance&&(e.relevance=0))}function I(e,n){90 Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){91 if(e.match){92 if(e.begin||e.end)throw Error("begin & end are not supported with match")93 ;e.begin=e.match,delete e.match}}function B(e,n){94 void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return95 ;if(e.starts)throw Error("beforeMatch cannot be used with starts")96 ;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n]97 })),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={98 relevance:0,contains:[Object.assign(t,{endsParent:!0})]99 },e.relevance=0,delete t.beforeMatch100 },F=["of","and","for","in","not","or","if","then","parent","list","value"]101 ;function z(e,n,t="keyword"){const a=Object.create(null)102 ;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{103 Object.assign(a,z(e[t],n,t))})),a;function i(e,t){104 n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|")105 ;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){106 return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const U={},P=e=>{107 console.error(e)},K=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{108 U[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),U[`${e}/${n}`]=!0)109 },H=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={}110 ;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1])111 ;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function Z(e){(e=>{112 e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,113 delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={114 _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope115 }),(e=>{if(Array.isArray(e.begin)){116 if(e.skip||e.excludeBegin||e.returnBegin)throw P("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),117 H118 ;if("object"!=typeof e.beginScope||null===e.beginScope)throw P("beginScope must be object"),119 H;G(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{120 if(Array.isArray(e.end)){121 if(e.skip||e.excludeEnd||e.returnEnd)throw P("skip, excludeEnd, returnEnd not compatible with endScope: {}"),122 H123 ;if("object"!=typeof e.endScope||null===e.endScope)throw P("endScope must be object"),124 H;G(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function W(e){125 function n(n,t){126 return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":""))127 }class t{constructor(){128 this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}129 addRule(e,n){130 n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),131 this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)132 ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|"133 }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex134 ;const n=this.matcherRe.exec(e);if(!n)return null135 ;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t]136 ;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){137 this.rules=[],this.multiRegexes=[],138 this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){139 if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t140 ;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))),141 n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){142 return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){143 this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){144 const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex145 ;let t=n.exec(e)146 ;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{147 const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)}148 return t&&(this.regexIndex+=t.position+1,149 this.regexIndex===this.count&&this.considerAll()),t}}150 if(e.compilerExtensions||(e.compilerExtensions=[]),151 e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")152 ;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r153 ;if(r.isCompiled)return o154 ;[R,L,Z,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))),155 r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null156 ;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),157 l=r.keywords.$pattern,158 delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=z(r.keywords,e.case_insensitive)),159 o.keywordPatternRe=n(l,!0),160 s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),161 r.end&&(o.endRe=n(o.end)),162 o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)),163 r.illegal&&(o.illegalRe=n(r.illegal)),164 r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{165 variants:null},n)))),e.cachedVariants?e.cachedVariants:Q(e)?a(e,{166 starts:e.starts?a(e.starts):null167 }):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o)168 })),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i169 ;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin"170 }))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end"171 }),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function Q(e){172 return!!e&&(e.endsWithParent||Q(e.starts))}class X extends Error{173 constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}}174 const V=t,J=a,Y=Symbol("nomatch"),ee=t=>{175 const a=Object.create(null),i=Object.create(null),r=[];let s=!0176 ;const o="Could not find the language '{}', did you forget to load/include a language module?",c={177 disableAutodetect:!0,name:"Plain text",contains:[]};let p={178 ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,179 languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",180 cssSelector:"div.aitoce-bot-messagepre code",languages:null,__emitter:l};function _(e){181 return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i=""182 ;"object"==typeof n?(a=e,183 t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."),184 q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),185 i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r)186 ;const s=r.result?r.result:f(r.language,r.code,t)187 ;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){188 const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S)189 ;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t=""190 ;for(;n;){t+=S.substring(e,n.index)191 ;const i=v.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){192 const[e,a]=r193 ;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{194 const t=v.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0]195 ;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a196 ;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{197 if(""===S)return;let e=null;if("string"==typeof O.subLanguage){198 if(!a[O.subLanguage])return void A.addText(S)199 ;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top200 }else e=E(S,O.subLanguage.length?O.subLanguage:null)201 ;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language)202 })():c(),S=""}function g(e,n){203 ""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1204 ;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue}205 const a=v.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}}206 function b(e,n){207 return e.scope&&"string"==typeof e.scope&&A.openNode(v.classNameAliases[e.scope]||e.scope),208 e.beginScope&&(e.beginScope._wrap?(g(S,v.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),209 S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{210 value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n)211 ;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e)212 ;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){213 for(;e.endsParent&&e.parent;)e=e.parent;return e}}214 if(e.endsWithParent)return m(e.parent,t,a)}function _(e){215 return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){216 const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return Y;const r=O217 ;O.endScope&&O.endScope._wrap?(d(),218 g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(),219 u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n),220 d(),r.excludeEnd&&(S=n));do{221 O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent222 }while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length}223 let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0224 ;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){225 if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`)226 ;throw n.languageName=e,n.badRule=y.rule,n}return 1}227 if(y=r,"begin"===r.type)return(e=>{228 const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]]229 ;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t)230 ;return a.skip?S+=t:(a.excludeBegin&&(S+=t),231 d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r)232 ;if("illegal"===r.type&&!i){233 const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"<unnamed>")+'"')234 ;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==Y)return e}235 if("illegal"===r.type&&""===o)return S+="\n",1236 ;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches")237 ;return S+=o,o.length}const v=N(e)238 ;if(!v)throw P(o.replace("{}",e)),Error('Unknown language: "'+e+'"')239 ;const k=W(v);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[]240 ;for(let n=O;n!==v;n=n.parent)n.scope&&e.unshift(n.scope)241 ;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{242 if(v.__emitTokens)v.__emitTokens(t,A);else{for(O.matcher.considerAll();;){243 R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T244 ;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e)245 ;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e,246 value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){247 if(n.message&&n.message.includes("Illegal"))return{language:e,value:V(t),248 illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T,249 context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{250 language:e,value:V(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O}251 ;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{252 const n={value:V(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)}253 ;return n._emitter.addText(e),n})(e),i=n.filter(N).filter(x).map((n=>f(n,e,!1)))254 ;i.unshift(t);const r=i.sort(((e,n)=>{255 if(e.relevance!==n.relevance)return n.relevance-e.relevance256 ;if(e.language&&n.language){if(N(e.language).supersetOf===n.language)return 1257 ;if(N(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s258 ;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{259 let n=e.className+" ";n+=e.parentNode?e.parentNode.className:""260 ;const t=p.languageDetectRe.exec(n);if(t){const n=N(t[1])261 ;return n||(K(o.replace("{}",t[1])),262 K("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"}263 return n.split(/\s+/).find((e=>_(e)||N(e)))})(e);if(_(t))return264 ;if(O("before:highlightElement",{el:e,language:t265 }),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)266 ;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),267 console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),268 console.warn("The element with unescaped HTML:"),269 console.warn(e)),p.throwUnescapedHTML))throw new X("One of your code blocks includes unescaped HTML.",e.innerHTML)270 ;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a)271 ;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t272 ;e.classList.add("hljs"),e.classList.add("language-"+a)273 })(e,t,r.language),e.result={language:r.language,re:r.relevance,274 relevance:r.relevance},r.secondBest&&(e.secondBest={275 language:r.secondBest.language,relevance:r.secondBest.relevance276 }),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function v(){277 if("loading"===document.readyState)return w||window.addEventListener("DOMContentLoaded",(()=>{278 v()}),!1),void(w=!0);document.querySelectorAll(p.cssSelector).forEach(y)}279 function N(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]}280 function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{281 i[e.toLowerCase()]=n}))}function x(e){const n=N(e)282 ;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{283 e[t]&&e[t](n)}))}Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:v,284 highlightElement:y,285 highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"),286 q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=J(p,e)},287 initHighlighting:()=>{288 v(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},289 initHighlightingOnLoad:()=>{290 v(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")291 },registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){292 if(P("Language definition for '{}' could not be registered.".replace("{}",e)),293 !s)throw n;P(n),i=c}294 i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{295 languageName:e})},unregisterLanguage:e=>{delete a[e]296 ;for(const n of Object.keys(i))i[n]===e&&delete i[n]},297 listLanguages:()=>Object.keys(a),getLanguage:N,registerAliases:k,298 autoDetection:x,inherit:J,addPlugin:e=>{(e=>{299 e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{300 e["before:highlightBlock"](Object.assign({block:n.el},n))301 }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{302 e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)},303 removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{304 s=!1},t.safeMode=()=>{s=!0},t.versionString="11.11.1",t.regex={concat:b,305 lookahead:d,either:m,optional:u,anyNumberOfTimes:g}306 ;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t307 },ne=ee({});ne.newInstance=()=>ee({});const te=e=>({IMPORTANT:{scope:"meta",308 begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{309 scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},310 FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},311 ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",312 contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{313 scope:"number",314 begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",315 relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}316 }),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oe=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),le=re.concat(se).sort().reverse()317 ;var ce="[0-9](_*[0-9])*",de=`\\.(${ce})`,ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ue={318 className:"number",variants:[{319 begin:`(\\b(${ce})((${de})|\\.)?|(${de}))[eE][+-]?(${ce})[fFdD]?\\b`},{320 begin:`\\b(${ce})((${de})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{321 begin:`(${de})[fFdD]?\\b`},{begin:`\\b(${ce})[fFdD]\\b`},{322 begin:`\\b0[xX]((${ge})\\.?|(${ge})?\\.(${ge}))[pP][+-]?(${ce})[fFdD]?\\b`},{323 begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ge})[lL]?\\b`},{324 begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],325 relevance:0};function be(e,n,t){return-1===t?"":e.replace(n,(a=>be(e,n,t-1)))}326 const me="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_e=["true","false","null","undefined","NaN","Infinity"],he=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],fe=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ee=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],we=[].concat(Ee,he,fe)327 ;function ve(e){const n=e.regex,t=me,a={begin:/<[A-Za-z0-9\\._:-]+/,328 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{329 const t=e[0].length+e.index,a=e.input[t]330 ;if("<"===a||","===a)return void n.ignoreMatch();let i331 ;">"===a&&(((e,{after:n})=>{const t="</"+e[0].slice(1)332 ;return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch())333 ;const r=e.input.substring(t)334 ;((i=r.match(/^\s*=/))||(i=r.match(/^\s+extends\s+/))&&0===i.index)&&n.ignoreMatch()335 }},i={$pattern:me,keyword:pe,literal:_e,built_in:we,"variable.language":ye336 },r="[0-9](_?[0-9])*",s=`\\.(${r})`,o="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",l={337 className:"number",variants:[{338 begin:`(\\b(${o})((${s})|\\.)?|(${s}))[eE][+-]?(${r})\\b`},{339 begin:`\\b(${o})\\b((${s})\\b|\\.)?|(${s})\\b`},{340 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{341 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{342 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{343 begin:"\\b0[0-7]+n?\\b"}],relevance:0},c={className:"subst",begin:"\\$\\{",344 end:"\\}",keywords:i,contains:[]},d={begin:".?html`",end:"",starts:{end:"`",345 returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"xml"}},g={346 begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,347 contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"css"}},u={begin:".?gql`",end:"",348 starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],349 subLanguage:"graphql"}},b={className:"string",begin:"`",end:"`",350 contains:[e.BACKSLASH_ESCAPE,c]},m={className:"comment",351 variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{352 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",353 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,354 excludeBegin:!0,relevance:0},{className:"variable",begin:t+"(?=\\s*(-)|$)",355 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]356 }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]357 },p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,{match:/\$\d+/},l]358 ;c.contains=p.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(p)359 });const _=[].concat(m,c.contains),h=_.concat([{begin:/(\s*)\(/,end:/\)/,360 keywords:i,contains:["self"].concat(_)}]),f={className:"params",begin:/(\s*)\(/,361 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h},E={variants:[{362 match:[/class/,/\s+/,t,/\s+/,/extends/,/\s+/,n.concat(t,"(",n.concat(/\./,t),")*")],363 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{364 match:[/class/,/\s+/,t],scope:{1:"keyword",3:"title.class"}}]},y={relevance:0,365 match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),366 className:"title.class",keywords:{_:[...he,...fe]}},w={variants:[{367 match:[/function/,/\s+/,t,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],368 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[f],369 illegal:/%/},v={370 match:n.concat(/\b/,(N=[...Ee,"super","import"].map((e=>e+"\\s*\\(")),371 n.concat("(?!",N.join("|"),")")),t,n.lookahead(/\s*\(/)),372 className:"title.function",relevance:0};var N;const k={373 begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t,374 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={375 match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"},376 contains:[{begin:/\(\)/},f]377 },O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={378 match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)],379 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]}380 ;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{381 PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/,382 contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{383 label:"use_strict",className:"meta",relevance:10,384 begin:/^\s*['"]use (strict|asm)['"]/385 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{386 scope:"attr",match:t+n.lookahead(":"),relevance:0},M,{387 begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",388 keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{389 className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{390 className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{391 className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,392 excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0393 },{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{394 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin,395 "on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{396 begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{397 beginKeywords:"while if switch catch for"},{398 begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",399 returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t,400 className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,401 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},402 contains:[f]},v,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,403 className:"variable.constant"},E,x,{match:/\$[(.]/}]}}404 const Ne=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ke=["Protocol","Type"].map(Ne),xe=["init","self"].map(Ne),Oe=["Any","Self"],Me=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ae=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ce=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Te=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Re=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),De=m(Re,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Ie=b(Re,De,"*"),Le=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Be=m(Le,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),$e=b(Le,Be,"*"),Fe=b(/[A-Z]/,Be,"*"),ze=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,$e,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],je=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"]405 ;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={406 begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]}407 ;Object.assign(t,{className:"variable",variants:[{408 begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={409 className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]410 },r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={411 begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,412 end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,413 contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/,414 end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]415 },c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10416 }),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,417 contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{418 name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,419 keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],420 literal:["true","false"],421 built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]422 },contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{423 className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{424 const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]425 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={426 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{427 match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{428 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{429 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",430 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({431 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={432 className:"number",variants:[{match:/\b(0b[01']+)/},{433 match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/434 },{435 match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/436 },{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0437 },c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{438 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"439 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{440 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={441 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0442 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={443 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],444 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],445 literal:"true false NULL",446 built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"447 },b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{448 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],449 keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u,450 contains:b.concat(["self"]),relevance:0}]),relevance:0},p={451 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,452 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{453 begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],454 relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,455 keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,456 end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]457 }]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u,458 disableAutodetect:!0,illegal:"</",contains:[].concat(m,p,b,[c,{459 begin:e.IDENT_RE+"::",keywords:u},{className:"class",460 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{461 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,462 strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{463 contains:[{begin:/\\\n/}]464 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={465 className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{466 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{467 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",468 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({469 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={470 className:"number",variants:[{471 begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"472 },{473 begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"474 }],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{475 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"476 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{477 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={478 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0479 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={480 type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],481 keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],482 literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],483 _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]484 },b={className:"function.dispatch",relevance:0,keywords:{485 _hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]486 },487 begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))488 },m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{489 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],490 keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u,491 contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",492 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,493 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{494 begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{495 begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{496 className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0,497 contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u,498 relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}]499 },s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",500 aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"</",501 classNameAliases:{"function.dispatch":"built_in"},502 contains:[].concat(p,_,b,m,[c,{503 begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",504 end:">",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{505 match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],506 className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={507 keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),508 built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],509 literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{510 begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{511 begin:"\\b(0b[01']+)"},{512 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{513 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"514 }],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]515 },r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/,516 keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/,517 end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/518 },e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{519 begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/,520 contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]})521 ;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],522 o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{523 illegal:/\n/})];const g={variants:[{className:"string",524 begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1525 },c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">",526 contains:[{beginKeywords:"in out"},t]527 },b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={528 begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],529 keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,530 contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{531 begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]532 }),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",533 end:"$",keywords:{534 keyword:"if else elif endif define undef warning error line region endregion pragma checksum"535 }},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,536 illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"537 },t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",538 relevance:0,end:/[{;=]/,illegal:/[^\s:]/,539 contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{540 beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,541 contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",542 begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{543 className:"string",begin:/"/,end:/"/}]},{544 beginKeywords:"new return throw await else",relevance:0},{className:"function",545 begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,546 end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{547 beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",548 relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,549 contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params",550 begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,551 contains:[g,a,e.C_BLOCK_COMMENT_MODE]552 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{553 const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{554 name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{555 keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},556 contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/557 },t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0558 },{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0559 },t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{560 begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}]561 },t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{562 begin:/:/,end:/[;}{]/,563 contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{564 begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"565 },contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,566 excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",567 relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/568 },{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{569 $pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{570 begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{571 className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{572 const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{573 className:"meta",relevance:10,574 match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)575 },{className:"comment",variants:[{576 begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),577 end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{578 className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,579 end:/$/}]}},grmr_go:e=>{const n={580 keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],581 type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],582 literal:["true","false","iota","nil"],583 built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]584 };return{name:"Go",aliases:["golang"],keywords:n,illegal:"</",585 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",586 variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{587 className:"number",variants:[{588 match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0589 },{590 match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,591 relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{592 match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{593 match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{594 begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",595 excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,596 endsParent:!0,keywords:n,illegal:/["']/}]}]}},grmr_graphql:e=>{const n=e.regex597 ;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,598 keywords:{599 keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],600 literal:["true","false","null"]},601 contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{602 scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",603 begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,604 end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{605 scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)),606 relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={607 className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{608 begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,609 end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{610 begin:/\$\{(.*?)\}/}]},r={className:"literal",611 begin:/\bon|off|true|false|yes|no\b/},s={className:"string",612 contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{613 begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]614 },o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0615 },l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{616 name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,617 contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{618 begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)),619 className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{620 const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+be("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={621 keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],622 literal:["false","true","null"],623 type:["char","boolean","long","float","int","byte","short","double"],624 built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{625 begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/,626 end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0}627 ;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,628 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,629 relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{630 begin:/import java\.[a-z]+\./,keywords:"import",relevance:2631 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,632 className:"string",contains:[e.BACKSLASH_ESCAPE]633 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{634 match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{635 1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{636 begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",637 3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",638 3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{639 beginKeywords:"new throw return else",relevance:0},{640 begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{641 2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,642 end:/\)/,keywords:i,relevance:0,643 contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ue,e.C_BLOCK_COMMENT_MODE]644 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ue,r]}},grmr_javascript:ve,645 grmr_json:e=>{const n=["true","false","null"],t={scope:"literal",646 beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{647 literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,648 relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0649 },e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],650 illegal:"\\S"}},grmr_kotlin:e=>{const n={651 keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",652 built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",653 literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"654 },a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={655 className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string",656 variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'",657 illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,658 contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={659 className:"meta",660 begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"661 },o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,662 end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}]663 },l=ue,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={664 variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,665 contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g],666 {name:"Kotlin",aliases:["kt","kts"],keywords:n,667 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",668 begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",669 begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",670 begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$",671 returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{672 begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,673 contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,674 keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,675 endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,676 endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0677 },e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{678 begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{679 3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,680 illegal:"extends implements",contains:[{681 beginKeywords:"public protected internal private constructor"682 },e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,683 excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,684 excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env",685 end:"$",illegal:"\n"},l]}},grmr_less:e=>{686 const n=te(e),t=le,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({687 className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n,688 relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only",689 attribute:ie.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c,690 relevance:0}691 ;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{692 begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",693 excludeEnd:!0}694 },n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{695 className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0696 },n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({697 begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0,698 contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:",699 returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/700 },n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b",701 end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]702 },m={className:"keyword",703 begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",704 starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={705 className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a706 }],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{707 begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,708 returnEnd:!0,illegal:"[<='$\"]",relevance:0,709 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{710 begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag"711 },n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{712 className:"selector-pseudo",begin:":("+re.join("|")+")"},{713 className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/,714 end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={715 begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]}716 ;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH),717 {name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}},718 grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"]719 },i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10720 })];return{name:"Lua",aliases:["pluto"],keywords:{721 $pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",722 keyword:"and break do else elseif end for goto if in local not or repeat return then until while",723 built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"724 },contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",725 contains:[e.inherit(e.TITLE_MODE,{726 begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",727 begin:"\\(",endsWithParent:!0,contains:i}].concat(i)728 },e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",729 begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={730 className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",731 contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string",732 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},a={className:"variable",733 begin:/\$\([\w-]+\s/,end:/\)/,keywords:{734 built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"735 },contains:[n,t]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={736 className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{737 name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,738 keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"739 },contains:[e.HASH_COMMENT_MODE,n,t,a,i,{className:"meta",begin:/^\.PHONY:/,740 end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}},grmr_markdown:e=>{741 const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={742 variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{743 begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,744 relevance:2},{745 begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),746 relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{747 begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/748 },{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,749 returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",750 excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",751 end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],752 variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]753 },i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{754 begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[]755 }),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r)756 ;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o)757 })),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{758 className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{759 begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",760 contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",761 end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o,762 end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{763 begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{764 begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",765 contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{766 begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{767 className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{768 className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",769 match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}},770 grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n,771 keyword:["@interface","@class","@protocol","@implementation"]};return{772 name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],773 keywords:{"variable.language":["this","super"],$pattern:n,774 keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],775 literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],776 built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],777 type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]778 },illegal:"</",contains:[{className:"built_in",779 begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"780 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{781 className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",782 contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,783 keywords:{784 keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"785 },contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{786 className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"787 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",788 begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,789 contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,790 relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={791 $pattern:/[\w.]+/,792 keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"793 },i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/,794 end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable",795 variants:[{begin:/\$\d/},{796 begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")797 },{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={798 className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{799 match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{800 match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{801 match:/\b0b[0-1][0-1_]*\b/}],relevance:0802 },c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{803 const r="\\1"===i?i:n.concat(i,a)804 ;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t)805 },u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{806 endsWithParent:!0}),r,{className:"string",contains:c,variants:[{807 begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",808 end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{809 begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",810 relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",811 contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",812 contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{813 begin:"-?\\w+\\s*=>",relevance:0}]},l,{814 begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",815 keywords:"split return print reverse grep",relevance:0,816 contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{817 begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{818 begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{819 className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{820 begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0821 }),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{822 begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",823 end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]824 },{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,825 contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",826 end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",827 className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl",828 aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{829 const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r=n.concat(/[A-Z]+/,t),s={830 scope:"variable",match:"\\$+"+a},o={scope:"subst",variants:[{begin:/\$\w+/},{831 begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null832 }),c="[ \t\n]",d={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{833 illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{834 begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,835 contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,n)=>{836 n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{837 n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({838 begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},g={scope:"number",variants:[{839 begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{840 begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{841 begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"842 }],relevance:0843 },u=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],p={844 keyword:b,literal:(e=>{const n=[];return e.forEach((e=>{845 n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase())846 })),n})(u),built_in:m},_=e=>e.map((e=>e.replace(/\|\d+$/,""))),h={variants:[{847 match:[/new/,n.concat(c,"+"),n.concat("(?!",_(m).join("\\b|"),"\\b)"),i],scope:{848 1:"keyword",4:"title.class"}}]},f=n.concat(a,"\\b(?!\\()"),E={variants:[{849 match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{2:"variable.constant"850 }},{match:[/::/,/class/],scope:{2:"variable.language"}},{851 match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{1:"title.class",852 3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))],853 scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",854 3:"variable.language"}}]},y={scope:"attr",855 match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},w={relevance:0,856 begin:/\(/,end:/\)/,keywords:p,contains:[y,s,E,e.C_BLOCK_COMMENT_MODE,d,g,h]857 },v={relevance:0,858 match:[/\b/,n.concat("(?!fn\\b|function\\b|",_(b).join("\\b|"),"|",_(m).join("\\b|"),"\\b)"),a,n.concat(c,"*"),n.lookahead(/(?=\()/)],859 scope:{3:"title.function.invoke"},contains:[w]};w.contains.push(v)860 ;const N=[y,E,e.C_BLOCK_COMMENT_MODE,d,g,h],k={861 begin:n.concat(/#\[\s*\\?/,n.either(i,r)),beginScope:"meta",end:/]/,862 endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{863 begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]},864 contains:["self",...N]},...N,{scope:"meta",variants:[{match:i},{match:r}]}]}865 ;return{case_insensitive:!1,keywords:p,866 contains:[k,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{867 contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,868 keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,869 contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{870 begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{871 begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},s,v,E,{872 match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},h,{873 scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,874 excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"875 },e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",876 begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:p,877 contains:["self",k,s,E,e.C_BLOCK_COMMENT_MODE,d,g]}]},{scope:"class",variants:[{878 beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",879 illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{880 beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{881 beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,882 contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{883 beginKeywords:"use",relevance:0,end:";",contains:[{884 match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},d,g]}885 },grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{886 begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",887 end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0888 },e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,889 skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,890 contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text",891 aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{892 const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={893 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,894 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],895 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],896 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]897 },r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/,898 end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={899 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{900 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,901 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{902 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,903 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{904 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,905 contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,906 end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/,907 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{908 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,909 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,910 contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,911 contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]912 },c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={913 className:"number",relevance:0,variants:[{914 begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{915 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{916 begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`917 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})`918 }]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i,919 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={920 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,921 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,922 contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{923 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,924 illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/925 },{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"926 },l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",927 3:"title.function"},contains:[m]},{variants:[{928 match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],929 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{930 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}},931 grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt",932 starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{933 begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{934 const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/)935 ;return{name:"R",keywords:{$pattern:t,936 keyword:"function if in break next repeat else for while",937 literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",938 built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"939 },contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,940 starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),941 endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{942 scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0943 }]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]944 }),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],945 variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/946 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/947 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/948 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/949 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/950 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',951 relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{952 1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"},953 match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{954 2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},955 match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{956 match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",957 contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{958 const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={959 "variable.constant":["__FILE__","__LINE__","__ENCODING__"],960 "variable.language":["self","super"],961 keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],962 built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],963 literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={964 begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s]965 }),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10966 }),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,967 end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],968 variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{969 begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{970 begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,971 end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{972 begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{973 begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{974 begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{975 begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{976 begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),977 contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,978 contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number",979 relevance:0,variants:[{980 begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{981 begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"982 },{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{983 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{984 begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{985 className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,986 keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{987 match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",988 4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{989 2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{990 1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,991 className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{992 match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{993 begin:e.IDENT_RE+"::"},{className:"symbol",994 begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",995 begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable",996 begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{997 className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,998 relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",999 keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],1000 illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{1001 begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",1002 end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l)1003 ;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m}1004 },{className:"meta.prompt",1005 begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",1006 starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby",1007 aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/,1008 contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}},1009 grmr_rust:e=>{1010 const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={1011 className:"title.function.invoke",relevance:0,1012 begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/))1013 },s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"]1014 ;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l,1015 keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],1016 literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</",1017 contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]1018 }),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{1019 className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",1020 variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{1021 scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{1022 className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s1023 },{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{1024 begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{1025 begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{1026 className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",1027 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{1028 begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword",1029 4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword",1030 3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword",1031 3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a],1032 className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{1033 keyword:"Self",built_in:o,type:l}},{className:"punctuation",begin:"->"},r]}},1034 grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable",1035 begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",1036 case_insensitive:!0,illegal:"[=/|']",1037 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{1038 className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{1039 className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:01040 },n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",1041 begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo",1042 begin:":("+a.join("|")+")"},{className:"selector-pseudo",1043 begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/,1044 contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute",1045 begin:"\\b("+oe.join("|")+")\\b"},{1046 begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"1047 },{begin:/:/,end:/[;}{]/,relevance:0,1048 contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH]1049 },{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{1050 begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,1051 keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i,1052 className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"1053 },r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE]1054 },n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session",1055 aliases:["console","shellsession"],contains:[{className:"meta.prompt",1056 begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,1057 subLanguage:"bash"}}]}),grmr_sql:e=>{1058 const n=e.regex,t=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=a,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!a.includes(e))),s={1059 match:n.concat(/\b/,n.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}}1060 ;function o(e){1061 return n.concat(/\b/,n.either(...e.map((e=>e.replace(/\s+/,"\\s+")))),/\b/)}1062 const l={scope:"keyword",1063 match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),1064 relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{1065 $pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t1066 ;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e))1067 })(r,{when:e=>e.length<3}),literal:["true","false","unknown"],1068 type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],1069 built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]1070 },contains:[{scope:"type",1071 match:o(["double precision","large object","with timezone","without timezone"])1072 },l,s,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{1073 begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{1074 match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{scope:"operator",1075 match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}},1076 grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{1077 contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,m(...ke,...xe)],1078 className:{2:"keyword"}},r={match:b(/\./,m(...Me)),relevance:01079 },s=Me.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{1080 className:"keyword",1081 match:m(...Me.filter((e=>"string"!=typeof e)).concat(Oe).map(Ne),...xe)}]},l={1082 $pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Ce),literal:Ae},c=[i,r,o],g=[{1083 match:b(/\./,m(...Te)),relevance:0},{className:"built_in",1084 match:b(/\b/,m(...Te),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{1085 className:"operator",relevance:0,variants:[{match:Ie},{match:`\\.(\\.|${De})+`}]1086 }],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0,1087 variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{1088 match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/1089 },{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{1090 match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]1091 }),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)1092 }),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/1093 }),v=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)]1094 }),N=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={1095 className:"string",1096 variants:[v(),v("#"),v("##"),v("###"),N(),N("#"),N("##"),N("###")]1097 },x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,1098 contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,1099 contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t,1100 contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={1101 scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,$e,/`/)1102 },C=[S,{className:"variable",match:/\$\d+/},{className:"variable",1103 match:`\\$${Be}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{1104 contains:[{begin:/\(/,end:/\)/,keywords:je,contains:[...p,f,k]}]}},{1105 scope:"keyword",match:b(/@/,m(...ze),d(m(/\(/,/\s+/)))},{scope:"meta",1106 match:b(/@/,$e)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type",1107 match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Be,"+")1108 },{className:"type",match:Fe,relevance:0},{match:/[?!]+/,relevance:0},{1109 match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Fe)),relevance:0}]},D={1110 begin:/</,end:/>/,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D)1111 ;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{1112 match:b($e,/\s*:/),keywords:"_|0",relevance:01113 },...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin:/</,end:/>/,1114 keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l,1115 contains:[{begin:m(d(b($e,/\s*:/)),d(b($e,/\s+/,$e,/\s*:/))),end:/:/,1116 relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",1117 match:$e}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={1118 match:[/(func|macro)/,/\s+/,m(S.match,$e,Ie)],className:{1:"keyword",1119 3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={1120 match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},1121 contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Ie],className:{1122 1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,Fe],className:{1123 1:"keyword",3:"title"},contains:[R],keywords:[...Se,...Ae],end:/}/},U={1124 begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,$e,/\s*/],1125 beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/,1126 end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:Fe},...c],1127 relevance:0}]};for(const e of k.variants){1128 const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l1129 ;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/,1130 contains:["self",...t]}]}return{name:"Swift",keywords:l,contains:[...a,$,F,{1131 match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1132 1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],1133 scope:{1:"keyword",3:"keyword"}},U,z,j,{beginKeywords:"import",end:/$/,1134 contains:[...a],relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}},1135 grmr_typescript:e=>{1136 const n=e.regex,t=ve(e),a=me,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={1137 begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}1138 },s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{1139 keyword:"interface extends",built_in:i},contains:[t.exports.CLASS_REFERENCE]1140 },o={$pattern:me,1141 keyword:pe.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),1142 literal:_e,built_in:we.concat(i),"variable.language":ye},l={className:"meta",1143 begin:"@"+a},c=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n))1144 ;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)}1145 ;Object.assign(t.keywords,o),t.exports.PARAMS_CONTAINS.push(l)1146 ;const d=t.contains.find((e=>"attr"===e.scope)),g=Object.assign({},d,{1147 match:n.concat(a,n.lookahead(/\s*\?:/))})1148 ;return t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,d,g]),1149 t.contains=t.contains.concat([l,r,s,g]),1150 c(t,"shebang",e.SHEBANG()),c(t,"use_strict",{className:"meta",relevance:10,1151 begin:/^\s*['"]use strict['"]/1152 }),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{1153 name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t},grmr_vbnet:e=>{1154 const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={1155 className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{1156 begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{1157 begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}]1158 },o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]1159 }),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]})1160 ;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,1161 classNameAliases:{label:"symbol"},keywords:{1162 keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",1163 built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",1164 type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",1165 literal:"true false nothing"},1166 illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{1167 className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,1168 end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0,1169 variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/1170 },{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{1171 begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{1172 className:"label",begin:/^\w+:/},o,l,{className:"meta",1173 begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,1174 end:/$/,keywords:{1175 keyword:"const disable else elseif enable end externalsource if region then"},1176 contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/)1177 ;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,1178 keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]1179 },contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/],1180 className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{1181 match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{1182 begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",1183 3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,1184 className:"type"},{className:"keyword",1185 match:/\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))\b/1186 },{className:"number",relevance:0,1187 match:/[+-]?\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/1188 }]}},grmr_xml:e=>{1189 const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={1190 className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,1191 contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]1192 },r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{1193 className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={1194 endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",1195 begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{1196 className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{1197 begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{1198 name:"HTML, XML",1199 aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],1200 case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,1201 end:/>/,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{1202 className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,r,o,s]}]}]1203 },e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,1204 relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,1205 relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",1206 begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{1207 end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",1208 begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{1209 end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{1210 className:"tag",begin:/<>|<\/>/},{className:"tag",1211 begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))),1212 end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{1213 className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{1214 className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}1215 },grmr_yaml:e=>{1216 const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={1217 className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],1218 contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{1219 begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{variants:[{1220 begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{1221 begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,1222 relevance:0},s={begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={1223 begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},l=[{1224 className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{1225 begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{1226 begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",1227 begin:"^---\\s*$",relevance:10},{className:"string",1228 begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{1229 begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,1230 relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",1231 begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t1232 },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",1233 begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",1234 relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{1235 className:"number",1236 begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"1237 },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,{1238 className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,1239 scope:"char.escape",relevance:0}]},a],c=[...l]1240 ;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0,1241 aliases:["yml"],contains:l}}});const Pe=ne;for(const e of Object.keys(Ue)){1242 const n=e.replace("grmr_","").replace("_","-");Pe.registerLanguage(n,Ue[e])}1243 return Pe}()1244 ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);6 var hljs=function(){"use strict";function e(n){ 7 return n instanceof Map?n.clear=n.delete=n.set=()=>{ 8 throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ 9 throw Error("set is read-only") 10 }),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ 11 const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) 12 })),n}class n{constructor(e){ 13 void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} 14 ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ 15 return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'") 16 }function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] 17 ;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope 18 ;class r{constructor(e,n){ 19 this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ 20 this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ 21 if(e.startsWith("language:"))return e.replace("language:","language-") 22 ;if(e.includes(".")){const t=e.split(".") 23 ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") 24 }return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} 25 closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){ 26 this.buffer+=`<span class="${e}">`}}const s=(e={})=>{const n={children:[]} 27 ;return Object.assign(n,e),n};class o{constructor(){ 28 this.rootNode=s(),this.stack=[this.rootNode]}get top(){ 29 return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ 30 this.top.children.push(e)}openNode(e){const n=s({scope:e}) 31 ;this.add(n),this.stack.push(n)}closeNode(){ 32 if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ 33 for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} 34 walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ 35 return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), 36 n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ 37 "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ 38 o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} 39 addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ 40 this.closeNode()}__addSublanguage(e,n){const t=e.root 41 ;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ 42 return new r(this,this.options).value()}finalize(){ 43 return this.closeAllNodes(),!0}}function c(e){ 44 return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} 45 function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} 46 function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ 47 const n=e[e.length-1] 48 ;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} 49 })(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} 50 function p(e){return RegExp(e.toString()+"|").exec("").length-1} 51 const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ 52 ;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t 53 ;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} 54 i+=a.substring(0,e.index), 55 a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], 56 "("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} 57 const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",N={ 58 begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", 59 illegal:"\\n",contains:[N]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", 60 contains:[N]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, 61 contains:[]},t);i.contains.push({scope:"doctag", 62 begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", 63 end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) 64 ;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) 65 ;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i 66 },M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({ 67 __proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:N,BINARY_NUMBER_MODE:{ 68 scope:"number",begin:v,relevance:0},BINARY_NUMBER_RE:v,COMMENT:O, 69 C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number", 70 begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{ 71 "on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ 72 n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f, 73 MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0}, 74 NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y, 75 PHRASAL_WORDS_MODE:{ 76 begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ 77 },QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, 78 end:/\/[gimuy]*/,contains:[N,{begin:/\[/,end:/\]/,relevance:0,contains:[N]}]}, 79 RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", 80 SHEBANG:(e={})=>{const n=/^#![ ]*\// 81 ;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, 82 end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, 83 TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E, 84 UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){ 85 "."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ 86 void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ 87 n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", 88 e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, 89 void 0===e.relevance&&(e.relevance=0))}function I(e,n){ 90 Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ 91 if(e.match){ 92 if(e.begin||e.end)throw Error("begin & end are not supported with match") 93 ;e.begin=e.match,delete e.match}}function B(e,n){ 94 void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return 95 ;if(e.starts)throw Error("beforeMatch cannot be used with starts") 96 ;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] 97 })),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ 98 relevance:0,contains:[Object.assign(t,{endsParent:!0})] 99 },e.relevance=0,delete t.beforeMatch 100 },F=["of","and","for","in","not","or","if","then","parent","list","value"] 101 ;function z(e,n,t="keyword"){const a=Object.create(null) 102 ;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ 103 Object.assign(a,z(e[t],n,t))})),a;function i(e,t){ 104 n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") 105 ;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ 106 return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const U={},P=e=>{ 107 console.error(e)},K=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{ 108 U[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),U[`${e}/${n}`]=!0) 109 },H=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={} 110 ;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) 111 ;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function Z(e){(e=>{ 112 e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, 113 delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ 114 _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope 115 }),(e=>{if(Array.isArray(e.begin)){ 116 if(e.skip||e.excludeBegin||e.returnBegin)throw P("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), 117 H 118 ;if("object"!=typeof e.beginScope||null===e.beginScope)throw P("beginScope must be object"), 119 H;G(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ 120 if(Array.isArray(e.end)){ 121 if(e.skip||e.excludeEnd||e.returnEnd)throw P("skip, excludeEnd, returnEnd not compatible with endScope: {}"), 122 H 123 ;if("object"!=typeof e.endScope||null===e.endScope)throw P("endScope must be object"), 124 H;G(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function W(e){ 125 function n(n,t){ 126 return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) 127 }class t{constructor(){ 128 this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} 129 addRule(e,n){ 130 n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), 131 this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) 132 ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" 133 }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex 134 ;const n=this.matcherRe.exec(e);if(!n)return null 135 ;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] 136 ;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ 137 this.rules=[],this.multiRegexes=[], 138 this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ 139 if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t 140 ;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), 141 n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ 142 return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ 143 this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ 144 const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex 145 ;let t=n.exec(e) 146 ;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ 147 const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} 148 return t&&(this.regexIndex+=t.position+1, 149 this.regexIndex===this.count&&this.considerAll()),t}} 150 if(e.compilerExtensions||(e.compilerExtensions=[]), 151 e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") 152 ;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r 153 ;if(r.isCompiled)return o 154 ;[R,L,Z,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), 155 r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null 156 ;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), 157 l=r.keywords.$pattern, 158 delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=z(r.keywords,e.case_insensitive)), 159 o.keywordPatternRe=n(l,!0), 160 s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), 161 r.end&&(o.endRe=n(o.end)), 162 o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), 163 r.illegal&&(o.illegalRe=n(r.illegal)), 164 r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ 165 variants:null},n)))),e.cachedVariants?e.cachedVariants:Q(e)?a(e,{ 166 starts:e.starts?a(e.starts):null 167 }):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) 168 })),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i 169 ;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" 170 }))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" 171 }),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function Q(e){ 172 return!!e&&(e.endsWithParent||Q(e.starts))}class X extends Error{ 173 constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} 174 const V=t,J=a,Y=Symbol("nomatch"),ee=t=>{ 175 const a=Object.create(null),i=Object.create(null),r=[];let s=!0 176 ;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ 177 disableAutodetect:!0,name:"Plain text",contains:[]};let p={ 178 ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, 179 languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", 180 cssSelector:"pre code",languages:null,__emitter:l};function _(e){ 181 return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" 182 ;"object"==typeof n?(a=e, 183 t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."), 184 q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), 185 i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r) 186 ;const s=r.result?r.result:f(r.language,r.code,t) 187 ;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){ 188 const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S) 189 ;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t="" 190 ;for(;n;){t+=S.substring(e,n.index) 191 ;const i=v.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){ 192 const[e,a]=r 193 ;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ 194 const t=v.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] 195 ;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a 196 ;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{ 197 if(""===S)return;let e=null;if("string"==typeof O.subLanguage){ 198 if(!a[O.subLanguage])return void A.addText(S) 199 ;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top 200 }else e=E(S,O.subLanguage.length?O.subLanguage:null) 201 ;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language) 202 })():c(),S=""}function g(e,n){ 203 ""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1 204 ;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} 205 const a=v.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}} 206 function b(e,n){ 207 return e.scope&&"string"==typeof e.scope&&A.openNode(v.classNameAliases[e.scope]||e.scope), 208 e.beginScope&&(e.beginScope._wrap?(g(S,v.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), 209 S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{ 210 value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) 211 ;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) 212 ;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ 213 for(;e.endsParent&&e.parent;)e=e.parent;return e}} 214 if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ 215 return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){ 216 const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return Y;const r=O 217 ;O.endScope&&O.endScope._wrap?(d(), 218 g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(), 219 u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n), 220 d(),r.excludeEnd&&(S=n));do{ 221 O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent 222 }while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} 223 let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0 224 ;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ 225 if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) 226 ;throw n.languageName=e,n.badRule=y.rule,n}return 1} 227 if(y=r,"begin"===r.type)return(e=>{ 228 const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] 229 ;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) 230 ;return a.skip?S+=t:(a.excludeBegin&&(S+=t), 231 d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r) 232 ;if("illegal"===r.type&&!i){ 233 const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"<unnamed>")+'"') 234 ;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==Y)return e} 235 if("illegal"===r.type&&""===o)return S+="\n",1 236 ;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") 237 ;return S+=o,o.length}const v=N(e) 238 ;if(!v)throw P(o.replace("{}",e)),Error('Unknown language: "'+e+'"') 239 ;const k=W(v);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[] 240 ;for(let n=O;n!==v;n=n.parent)n.scope&&e.unshift(n.scope) 241 ;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{ 242 if(v.__emitTokens)v.__emitTokens(t,A);else{for(O.matcher.considerAll();;){ 243 R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T 244 ;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e) 245 ;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e, 246 value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){ 247 if(n.message&&n.message.includes("Illegal"))return{language:e,value:V(t), 248 illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, 249 context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{ 250 language:e,value:V(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O} 251 ;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ 252 const n={value:V(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} 253 ;return n._emitter.addText(e),n})(e),i=n.filter(N).filter(x).map((n=>f(n,e,!1))) 254 ;i.unshift(t);const r=i.sort(((e,n)=>{ 255 if(e.relevance!==n.relevance)return n.relevance-e.relevance 256 ;if(e.language&&n.language){if(N(e.language).supersetOf===n.language)return 1 257 ;if(N(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s 258 ;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ 259 let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" 260 ;const t=p.languageDetectRe.exec(n);if(t){const n=N(t[1]) 261 ;return n||(K(o.replace("{}",t[1])), 262 K("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} 263 return n.split(/\s+/).find((e=>_(e)||N(e)))})(e);if(_(t))return 264 ;if(O("before:highlightElement",{el:e,language:t 265 }),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) 266 ;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), 267 console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), 268 console.warn("The element with unescaped HTML:"), 269 console.warn(e)),p.throwUnescapedHTML))throw new X("One of your code blocks includes unescaped HTML.",e.innerHTML) 270 ;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) 271 ;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t 272 ;e.classList.add("hljs"),e.classList.add("language-"+a) 273 })(e,t,r.language),e.result={language:r.language,re:r.relevance, 274 relevance:r.relevance},r.secondBest&&(e.secondBest={ 275 language:r.secondBest.language,relevance:r.secondBest.relevance 276 }),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function v(){ 277 if("loading"===document.readyState)return w||window.addEventListener("DOMContentLoaded",(()=>{ 278 v()}),!1),void(w=!0);document.querySelectorAll(p.cssSelector).forEach(y)} 279 function N(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} 280 function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ 281 i[e.toLowerCase()]=n}))}function x(e){const n=N(e) 282 ;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{ 283 e[t]&&e[t](n)}))}Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:v, 284 highlightElement:y, 285 highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"), 286 q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=J(p,e)}, 287 initHighlighting:()=>{ 288 v(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, 289 initHighlightingOnLoad:()=>{ 290 v(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") 291 },registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ 292 if(P("Language definition for '{}' could not be registered.".replace("{}",e)), 293 !s)throw n;P(n),i=c} 294 i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{ 295 languageName:e})},unregisterLanguage:e=>{delete a[e] 296 ;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, 297 listLanguages:()=>Object.keys(a),getLanguage:N,registerAliases:k, 298 autoDetection:x,inherit:J,addPlugin:e=>{(e=>{ 299 e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ 300 e["before:highlightBlock"](Object.assign({block:n.el},n)) 301 }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ 302 e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, 303 removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ 304 s=!1},t.safeMode=()=>{s=!0},t.versionString="11.11.1",t.regex={concat:b, 305 lookahead:d,either:m,optional:u,anyNumberOfTimes:g} 306 ;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t 307 },ne=ee({});ne.newInstance=()=>ee({});const te=e=>({IMPORTANT:{scope:"meta", 308 begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ 309 scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, 310 FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, 311 ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", 312 contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ 313 scope:"number", 314 begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", 315 relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} 316 }),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oe=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),le=re.concat(se).sort().reverse() 317 ;var ce="[0-9](_*[0-9])*",de=`\\.(${ce})`,ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ue={ 318 className:"number",variants:[{ 319 begin:`(\\b(${ce})((${de})|\\.)?|(${de}))[eE][+-]?(${ce})[fFdD]?\\b`},{ 320 begin:`\\b(${ce})((${de})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ 321 begin:`(${de})[fFdD]?\\b`},{begin:`\\b(${ce})[fFdD]\\b`},{ 322 begin:`\\b0[xX]((${ge})\\.?|(${ge})?\\.(${ge}))[pP][+-]?(${ce})[fFdD]?\\b`},{ 323 begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ge})[lL]?\\b`},{ 324 begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], 325 relevance:0};function be(e,n,t){return-1===t?"":e.replace(n,(a=>be(e,n,t-1)))} 326 const me="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_e=["true","false","null","undefined","NaN","Infinity"],he=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],fe=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ee=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],we=[].concat(Ee,he,fe) 327 ;function ve(e){const n=e.regex,t=me,a={begin:/<[A-Za-z0-9\\._:-]+/, 328 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ 329 const t=e[0].length+e.index,a=e.input[t] 330 ;if("<"===a||","===a)return void n.ignoreMatch();let i 331 ;">"===a&&(((e,{after:n})=>{const t="</"+e[0].slice(1) 332 ;return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch()) 333 ;const r=e.input.substring(t) 334 ;((i=r.match(/^\s*=/))||(i=r.match(/^\s+extends\s+/))&&0===i.index)&&n.ignoreMatch() 335 }},i={$pattern:me,keyword:pe,literal:_e,built_in:we,"variable.language":ye 336 },r="[0-9](_?[0-9])*",s=`\\.(${r})`,o="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",l={ 337 className:"number",variants:[{ 338 begin:`(\\b(${o})((${s})|\\.)?|(${s}))[eE][+-]?(${r})\\b`},{ 339 begin:`\\b(${o})\\b((${s})\\b|\\.)?|(${s})\\b`},{ 340 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{ 341 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{ 342 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{ 343 begin:"\\b0[0-7]+n?\\b"}],relevance:0},c={className:"subst",begin:"\\$\\{", 344 end:"\\}",keywords:i,contains:[]},d={begin:".?html`",end:"",starts:{end:"`", 345 returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"xml"}},g={ 346 begin:".?css`",end:"",starts:{end:"`",returnEnd:!1, 347 contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"css"}},u={begin:".?gql`",end:"", 348 starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c], 349 subLanguage:"graphql"}},b={className:"string",begin:"`",end:"`", 350 contains:[e.BACKSLASH_ESCAPE,c]},m={className:"comment", 351 variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{ 352 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag", 353 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0, 354 excludeBegin:!0,relevance:0},{className:"variable",begin:t+"(?=\\s*(-)|$)", 355 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}] 356 }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE] 357 },p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,{match:/\$\d+/},l] 358 ;c.contains=p.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(p) 359 });const _=[].concat(m,c.contains),h=_.concat([{begin:/(\s*)\(/,end:/\)/, 360 keywords:i,contains:["self"].concat(_)}]),f={className:"params",begin:/(\s*)\(/, 361 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h},E={variants:[{ 362 match:[/class/,/\s+/,t,/\s+/,/extends/,/\s+/,n.concat(t,"(",n.concat(/\./,t),")*")], 363 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{ 364 match:[/class/,/\s+/,t],scope:{1:"keyword",3:"title.class"}}]},y={relevance:0, 365 match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/), 366 className:"title.class",keywords:{_:[...he,...fe]}},w={variants:[{ 367 match:[/function/,/\s+/,t,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}], 368 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[f], 369 illegal:/%/},v={ 370 match:n.concat(/\b/,(N=[...Ee,"super","import"].map((e=>e+"\\s*\\(")), 371 n.concat("(?!",N.join("|"),")")),t,n.lookahead(/\s*\(/)), 372 className:"title.function",relevance:0};var N;const k={ 373 begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t, 374 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={ 375 match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"}, 376 contains:[{begin:/\(\)/},f] 377 },O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={ 378 match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], 379 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} 380 ;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ 381 PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, 382 contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ 383 label:"use_strict",className:"meta",relevance:10, 384 begin:/^\s*['"]use (strict|asm)['"]/ 385 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ 386 scope:"attr",match:t+n.lookahead(":"),relevance:0},M,{ 387 begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", 388 keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ 389 className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ 390 className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ 391 className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, 392 excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0 393 },{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{ 394 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, 395 "on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ 396 begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{ 397 beginKeywords:"while if switch catch for"},{ 398 begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", 399 returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, 400 className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t, 401 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, 402 contains:[f]},v,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, 403 className:"variable.constant"},E,x,{match:/\$[(.]/}]}} 404 const Ne=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ke=["Protocol","Type"].map(Ne),xe=["init","self"].map(Ne),Oe=["Any","Self"],Me=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ae=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ce=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Te=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Re=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),De=m(Re,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Ie=b(Re,De,"*"),Le=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Be=m(Le,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),$e=b(Le,Be,"*"),Fe=b(/[A-Z]/,Be,"*"),ze=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,$e,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],je=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] 405 ;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ 406 begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} 407 ;Object.assign(t,{className:"variable",variants:[{ 408 begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ 409 className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] 410 },r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={ 411 begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, 412 end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, 413 contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/, 414 end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] 415 },c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 416 }),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, 417 contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ 418 name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, 419 keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"], 420 literal:["true","false"], 421 built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] 422 },contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ 423 className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{ 424 const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] 425 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ 426 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ 427 match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ 428 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 429 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 430 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 431 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ 432 className:"number",variants:[{match:/\b(0b[01']+)/},{ 433 match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ 434 },{ 435 match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ 436 },{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0 437 },c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 438 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include" 439 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ 440 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ 441 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 442 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ 443 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], 444 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"], 445 literal:"true false NULL", 446 built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" 447 },b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ 448 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 449 keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, 450 contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ 451 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 452 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ 453 begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], 454 relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, 455 keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, 456 end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] 457 }]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, 458 disableAutodetect:!0,illegal:"</",contains:[].concat(m,p,b,[c,{ 459 begin:e.IDENT_RE+"::",keywords:u},{className:"class", 460 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{ 461 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, 462 strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ 463 contains:[{begin:/\\\n/}] 464 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ 465 className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ 466 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 467 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 468 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 469 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ 470 className:"number",variants:[{ 471 begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)" 472 },{ 473 begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)" 474 }],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 475 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" 476 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ 477 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ 478 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 479 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ 480 type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], 481 keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], 482 literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], 483 _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] 484 },b={className:"function.dispatch",relevance:0,keywords:{ 485 _hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] 486 }, 487 begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) 488 },m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ 489 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 490 keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, 491 contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", 492 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 493 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ 494 begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ 495 begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ 496 className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, 497 contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, 498 relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] 499 },s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", 500 aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"</", 501 classNameAliases:{"function.dispatch":"built_in"}, 502 contains:[].concat(p,_,b,m,[c,{ 503 begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)", 504 end:">",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ 505 match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], 506 className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ 507 keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]), 508 built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], 509 literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ 510 begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ 511 begin:"\\b(0b[01']+)"},{ 512 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ 513 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" 514 }],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] 515 },r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, 516 keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, 517 end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ 518 },e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ 519 begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, 520 contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) 521 ;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], 522 o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ 523 illegal:/\n/})];const g={variants:[{className:"string", 524 begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1 525 },c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">", 526 contains:[{beginKeywords:"in out"},t] 527 },b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ 528 begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], 529 keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, 530 contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ 531 begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}] 532 }),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", 533 end:"$",keywords:{ 534 keyword:"if else elif endif define undef warning error line region endregion pragma checksum" 535 }},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, 536 illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" 537 },t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", 538 relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 539 contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 540 beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 541 contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", 542 begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ 543 className:"string",begin:/"/,end:/"/}]},{ 544 beginKeywords:"new return throw await else",relevance:0},{className:"function", 545 begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 546 end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ 547 beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", 548 relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 549 contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", 550 begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, 551 contains:[g,a,e.C_BLOCK_COMMENT_MODE] 552 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ 553 const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ 554 name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ 555 keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, 556 contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ 557 },t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 558 },{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 559 },t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ 560 begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}] 561 },t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{ 562 begin:/:/,end:/[;}{]/, 563 contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ 564 begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" 565 },contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, 566 excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", 567 relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ 568 },{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ 569 $pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{ 570 begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ 571 className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{ 572 const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ 573 className:"meta",relevance:10, 574 match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) 575 },{className:"comment",variants:[{ 576 begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), 577 end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ 578 className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, 579 end:/$/}]}},grmr_go:e=>{const n={ 580 keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], 581 type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], 582 literal:["true","false","iota","nil"], 583 built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] 584 };return{name:"Go",aliases:["golang"],keywords:n,illegal:"</", 585 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string", 586 variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{ 587 className:"number",variants:[{ 588 match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0 589 },{ 590 match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/, 591 relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{ 592 match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{ 593 match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{ 594 begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)", 595 excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/, 596 endsParent:!0,keywords:n,illegal:/["']/}]}]}},grmr_graphql:e=>{const n=e.regex 597 ;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1, 598 keywords:{ 599 keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], 600 literal:["true","false","null"]}, 601 contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ 602 scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", 603 begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, 604 end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ 605 scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), 606 relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ 607 className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ 608 begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, 609 end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ 610 begin:/\$\{(.*?)\}/}]},r={className:"literal", 611 begin:/\bon|off|true|false|yes|no\b/},s={className:"string", 612 contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ 613 begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] 614 },o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 615 },l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ 616 name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, 617 contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ 618 begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), 619 className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ 620 const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+be("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ 621 keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"], 622 literal:["false","true","null"], 623 type:["char","boolean","long","float","int","byte","short","double"], 624 built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ 625 begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, 626 end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} 627 ;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, 628 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, 629 relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ 630 begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 631 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, 632 className:"string",contains:[e.BACKSLASH_ESCAPE] 633 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ 634 match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ 635 1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ 636 begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", 637 3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", 638 3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 639 beginKeywords:"new throw return else",relevance:0},{ 640 begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ 641 2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, 642 end:/\)/,keywords:i,relevance:0, 643 contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ue,e.C_BLOCK_COMMENT_MODE] 644 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ue,r]}},grmr_javascript:ve, 645 grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", 646 beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{ 647 literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, 648 relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 649 },e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], 650 illegal:"\\S"}},grmr_kotlin:e=>{const n={ 651 keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", 652 built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", 653 literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" 654 },a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ 655 className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", 656 variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", 657 illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, 658 contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ 659 className:"meta", 660 begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" 661 },o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, 662 end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] 663 },l=ue,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ 664 variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, 665 contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], 666 {name:"Kotlin",aliases:["kt","kts"],keywords:n, 667 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", 668 begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", 669 begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", 670 begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", 671 returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ 672 begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, 673 contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/, 674 keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, 675 endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, 676 endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 677 },e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ 678 begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ 679 3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, 680 illegal:"extends implements",contains:[{ 681 beginKeywords:"public protected internal private constructor" 682 },e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0, 683 excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, 684 excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", 685 end:"$",illegal:"\n"},l]}},grmr_less:e=>{ 686 const n=te(e),t=le,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ 687 className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, 688 relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", 689 attribute:ie.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, 690 relevance:0} 691 ;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ 692 begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", 693 excludeEnd:!0} 694 },n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ 695 className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 696 },n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ 697 begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, 698 contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", 699 returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ 700 },n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b", 701 end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] 702 },m={className:"keyword", 703 begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", 704 starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ 705 className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a 706 }],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ 707 begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, 708 returnEnd:!0,illegal:"[<='$\"]",relevance:0, 709 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ 710 begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag" 711 },n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ 712 className:"selector-pseudo",begin:":("+re.join("|")+")"},{ 713 className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/, 714 end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ 715 begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} 716 ;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), 717 {name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, 718 grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] 719 },i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 720 })];return{name:"Lua",aliases:["pluto"],keywords:{ 721 $pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil", 722 keyword:"and break do else elseif end for goto if in local not or repeat return then until while", 723 built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" 724 },contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", 725 contains:[e.inherit(e.TITLE_MODE,{ 726 begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", 727 begin:"\\(",endsWithParent:!0,contains:i}].concat(i) 728 },e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", 729 begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ 730 className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", 731 contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string", 732 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},a={className:"variable", 733 begin:/\$\([\w-]+\s/,end:/\)/,keywords:{ 734 built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value" 735 },contains:[n,t]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={ 736 className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{ 737 name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/, 738 keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath" 739 },contains:[e.HASH_COMMENT_MODE,n,t,a,i,{className:"meta",begin:/^\.PHONY:/, 740 end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}},grmr_markdown:e=>{ 741 const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={ 742 variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ 743 begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, 744 relevance:2},{ 745 begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), 746 relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ 747 begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ 748 },{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, 749 returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", 750 excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", 751 end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], 752 variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] 753 },i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ 754 begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] 755 }),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) 756 ;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) 757 })),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ 758 className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ 759 begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", 760 contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", 761 end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, 762 end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ 763 begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ 764 begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", 765 contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ 766 begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ 767 className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ 768 className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", 769 match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}, 770 grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, 771 keyword:["@interface","@class","@protocol","@implementation"]};return{ 772 name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], 773 keywords:{"variable.language":["this","super"],$pattern:n, 774 keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], 775 literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], 776 built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], 777 type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] 778 },illegal:"</",contains:[{className:"built_in", 779 begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+" 780 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{ 781 className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n", 782 contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/, 783 keywords:{ 784 keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include" 785 },contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{ 786 className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n" 787 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", 788 begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, 789 contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, 790 relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ 791 $pattern:/[\w.]+/, 792 keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" 793 },i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, 794 end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable", 795 variants:[{begin:/\$\d/},{ 796 begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") 797 },{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={ 798 className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{ 799 match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{ 800 match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{ 801 match:/\b0b[0-1][0-1_]*\b/}],relevance:0 802 },c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{ 803 const r="\\1"===i?i:n.concat(i,a) 804 ;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) 805 },u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ 806 endsWithParent:!0}),r,{className:"string",contains:c,variants:[{ 807 begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", 808 end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ 809 begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", 810 relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", 811 contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", 812 contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ 813 begin:"-?\\w+\\s*=>",relevance:0}]},l,{ 814 begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", 815 keywords:"split return print reverse grep",relevance:0, 816 contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ 817 begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{ 818 begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{ 819 className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ 820 begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0 821 }),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{ 822 begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method", 823 end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s] 824 },{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5, 825 contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$", 826 end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$", 827 className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl", 828 aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{ 829 const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r=n.concat(/[A-Z]+/,t),s={ 830 scope:"variable",match:"\\$+"+a},o={scope:"subst",variants:[{begin:/\$\w+/},{ 831 begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null 832 }),c="[ \t\n]",d={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ 833 illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{ 834 begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, 835 contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,n)=>{ 836 n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ 837 n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ 838 begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},g={scope:"number",variants:[{ 839 begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ 840 begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ 841 begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" 842 }],relevance:0 843 },u=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],p={ 844 keyword:b,literal:(e=>{const n=[];return e.forEach((e=>{ 845 n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) 846 })),n})(u),built_in:m},_=e=>e.map((e=>e.replace(/\|\d+$/,""))),h={variants:[{ 847 match:[/new/,n.concat(c,"+"),n.concat("(?!",_(m).join("\\b|"),"\\b)"),i],scope:{ 848 1:"keyword",4:"title.class"}}]},f=n.concat(a,"\\b(?!\\()"),E={variants:[{ 849 match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{2:"variable.constant" 850 }},{match:[/::/,/class/],scope:{2:"variable.language"}},{ 851 match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{1:"title.class", 852 3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], 853 scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", 854 3:"variable.language"}}]},y={scope:"attr", 855 match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},w={relevance:0, 856 begin:/\(/,end:/\)/,keywords:p,contains:[y,s,E,e.C_BLOCK_COMMENT_MODE,d,g,h] 857 },v={relevance:0, 858 match:[/\b/,n.concat("(?!fn\\b|function\\b|",_(b).join("\\b|"),"|",_(m).join("\\b|"),"\\b)"),a,n.concat(c,"*"),n.lookahead(/(?=\()/)], 859 scope:{3:"title.function.invoke"},contains:[w]};w.contains.push(v) 860 ;const N=[y,E,e.C_BLOCK_COMMENT_MODE,d,g,h],k={ 861 begin:n.concat(/#\[\s*\\?/,n.either(i,r)),beginScope:"meta",end:/]/, 862 endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{ 863 begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]}, 864 contains:["self",...N]},...N,{scope:"meta",variants:[{match:i},{match:r}]}]} 865 ;return{case_insensitive:!1,keywords:p, 866 contains:[k,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{ 867 contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, 868 keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, 869 contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ 870 begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ 871 begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},s,v,E,{ 872 match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},h,{ 873 scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, 874 excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" 875 },e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", 876 begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:p, 877 contains:["self",k,s,E,e.C_BLOCK_COMMENT_MODE,d,g]}]},{scope:"class",variants:[{ 878 beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", 879 illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ 880 beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ 881 beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, 882 contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ 883 beginKeywords:"use",relevance:0,end:";",contains:[{ 884 match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},d,g]} 885 },grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ 886 begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", 887 end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 888 },e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, 889 skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, 890 contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", 891 aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ 892 const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ 893 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, 894 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], 895 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], 896 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] 897 },r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, 898 end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ 899 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ 900 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, 901 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 902 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, 903 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 904 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, 905 contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, 906 end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, 907 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ 908 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, 909 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, 910 contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, 911 contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 912 },c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ 913 className:"number",relevance:0,variants:[{ 914 begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ 915 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ 916 begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` 917 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` 918 }]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, 919 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ 920 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, 921 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, 922 contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ 923 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, 924 illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/ 925 },{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" 926 },l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword", 927 3:"title.function"},contains:[m]},{variants:[{ 928 match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], 929 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ 930 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, 931 grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", 932 starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ 933 begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ 934 const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) 935 ;return{name:"R",keywords:{$pattern:t, 936 keyword:"function if in break next repeat else for while", 937 literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", 938 built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" 939 },contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, 940 starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), 941 endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ 942 scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 943 }]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] 944 }),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], 945 variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ 946 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ 947 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ 948 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ 949 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ 950 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', 951 relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ 952 1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, 953 match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ 954 2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, 955 match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ 956 match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", 957 contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ 958 const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ 959 "variable.constant":["__FILE__","__LINE__","__ENCODING__"], 960 "variable.language":["self","super"], 961 keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], 962 built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], 963 literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ 964 begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] 965 }),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 966 }),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, 967 end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], 968 variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ 969 begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ 970 begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//, 971 end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ 972 begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ 973 begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ 974 begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ 975 begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ 976 begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), 977 contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, 978 contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", 979 relevance:0,variants:[{ 980 begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ 981 begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" 982 },{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ 983 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ 984 begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ 985 className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, 986 keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ 987 match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", 988 4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ 989 2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ 990 1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, 991 className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ 992 match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ 993 begin:e.IDENT_RE+"::"},{className:"symbol", 994 begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", 995 begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", 996 begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ 997 className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0, 998 relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", 999 keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], 1000 illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ 1001 begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", 1002 end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) 1003 ;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} 1004 },{className:"meta.prompt", 1005 begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", 1006 starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", 1007 aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, 1008 contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, 1009 grmr_rust:e=>{ 1010 const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={ 1011 className:"title.function.invoke",relevance:0, 1012 begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/)) 1013 },s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] 1014 ;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l, 1015 keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"], 1016 literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</", 1017 contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"] 1018 }),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{ 1019 className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string", 1020 variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{ 1021 scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{ 1022 className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s 1023 },{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{ 1024 begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{ 1025 begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{ 1026 className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string", 1027 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{ 1028 begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword", 1029 4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword", 1030 3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword", 1031 3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a], 1032 className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{ 1033 keyword:"Self",built_in:o,type:l}},{className:"punctuation",begin:"->"},r]}}, 1034 grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable", 1035 begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", 1036 case_insensitive:!0,illegal:"[=/|']", 1037 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ 1038 className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ 1039 className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 1040 },n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", 1041 begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo", 1042 begin:":("+a.join("|")+")"},{className:"selector-pseudo", 1043 begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, 1044 contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", 1045 begin:"\\b("+oe.join("|")+")\\b"},{ 1046 begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" 1047 },{begin:/:/,end:/[;}{]/,relevance:0, 1048 contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] 1049 },{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ 1050 begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, 1051 keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i, 1052 className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" 1053 },r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] 1054 },n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", 1055 aliases:["console","shellsession"],contains:[{className:"meta.prompt", 1056 begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, 1057 subLanguage:"bash"}}]}),grmr_sql:e=>{ 1058 const n=e.regex,t=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=a,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!a.includes(e))),s={ 1059 match:n.concat(/\b/,n.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}} 1060 ;function o(e){ 1061 return n.concat(/\b/,n.either(...e.map((e=>e.replace(/\s+/,"\\s+")))),/\b/)} 1062 const l={scope:"keyword", 1063 match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]), 1064 relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ 1065 $pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t 1066 ;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) 1067 })(r,{when:e=>e.length<3}),literal:["true","false","unknown"], 1068 type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"], 1069 built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] 1070 },contains:[{scope:"type", 1071 match:o(["double precision","large object","with timezone","without timezone"]) 1072 },l,s,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{ 1073 begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{ 1074 match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{scope:"operator", 1075 match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}, 1076 grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{ 1077 contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,m(...ke,...xe)], 1078 className:{2:"keyword"}},r={match:b(/\./,m(...Me)),relevance:0 1079 },s=Me.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ 1080 className:"keyword", 1081 match:m(...Me.filter((e=>"string"!=typeof e)).concat(Oe).map(Ne),...xe)}]},l={ 1082 $pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Ce),literal:Ae},c=[i,r,o],g=[{ 1083 match:b(/\./,m(...Te)),relevance:0},{className:"built_in", 1084 match:b(/\b/,m(...Te),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ 1085 className:"operator",relevance:0,variants:[{match:Ie},{match:`\\.(\\.|${De})+`}] 1086 }],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, 1087 variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ 1088 match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ 1089 },{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ 1090 match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] 1091 }),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) 1092 }),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ 1093 }),v=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)] 1094 }),N=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={ 1095 className:"string", 1096 variants:[v(),v("#"),v("##"),v("###"),N(),N("#"),N("##"),N("###")] 1097 },x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0, 1098 contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//, 1099 contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t, 1100 contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={ 1101 scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,$e,/`/) 1102 },C=[S,{className:"variable",match:/\$\d+/},{className:"variable", 1103 match:`\\$${Be}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{ 1104 contains:[{begin:/\(/,end:/\)/,keywords:je,contains:[...p,f,k]}]}},{ 1105 scope:"keyword",match:b(/@/,m(...ze),d(m(/\(/,/\s+/)))},{scope:"meta", 1106 match:b(/@/,$e)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type", 1107 match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Be,"+") 1108 },{className:"type",match:Fe,relevance:0},{match:/[?!]+/,relevance:0},{ 1109 match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Fe)),relevance:0}]},D={ 1110 begin:/</,end:/>/,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D) 1111 ;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ 1112 match:b($e,/\s*:/),keywords:"_|0",relevance:0 1113 },...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin:/</,end:/>/, 1114 keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l, 1115 contains:[{begin:m(d(b($e,/\s*:/)),d(b($e,/\s+/,$e,/\s*:/))),end:/:/, 1116 relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params", 1117 match:$e}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={ 1118 match:[/(func|macro)/,/\s+/,m(S.match,$e,Ie)],className:{1:"keyword", 1119 3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={ 1120 match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, 1121 contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Ie],className:{ 1122 1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,Fe],className:{ 1123 1:"keyword",3:"title"},contains:[R],keywords:[...Se,...Ae],end:/}/},U={ 1124 begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,$e,/\s*/], 1125 beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/, 1126 end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:Fe},...c], 1127 relevance:0}]};for(const e of k.variants){ 1128 const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l 1129 ;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/, 1130 contains:["self",...t]}]}return{name:"Swift",keywords:l,contains:[...a,$,F,{ 1131 match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{ 1132 1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/], 1133 scope:{1:"keyword",3:"keyword"}},U,z,j,{beginKeywords:"import",end:/$/, 1134 contains:[...a],relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}}, 1135 grmr_typescript:e=>{ 1136 const n=e.regex,t=ve(e),a=me,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={ 1137 begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} 1138 },s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ 1139 keyword:"interface extends",built_in:i},contains:[t.exports.CLASS_REFERENCE] 1140 },o={$pattern:me, 1141 keyword:pe.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), 1142 literal:_e,built_in:we.concat(i),"variable.language":ye},l={className:"meta", 1143 begin:"@"+a},c=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) 1144 ;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} 1145 ;Object.assign(t.keywords,o),t.exports.PARAMS_CONTAINS.push(l) 1146 ;const d=t.contains.find((e=>"attr"===e.scope)),g=Object.assign({},d,{ 1147 match:n.concat(a,n.lookahead(/\s*\?:/))}) 1148 ;return t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,d,g]), 1149 t.contains=t.contains.concat([l,r,s,g]), 1150 c(t,"shebang",e.SHEBANG()),c(t,"use_strict",{className:"meta",relevance:10, 1151 begin:/^\s*['"]use strict['"]/ 1152 }),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{ 1153 name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t},grmr_vbnet:e=>{ 1154 const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ 1155 className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ 1156 begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ 1157 begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] 1158 },o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] 1159 }),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) 1160 ;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, 1161 classNameAliases:{label:"symbol"},keywords:{ 1162 keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", 1163 built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", 1164 type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", 1165 literal:"true false nothing"}, 1166 illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ 1167 className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, 1168 end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, 1169 variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ 1170 },{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ 1171 begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ 1172 className:"label",begin:/^\w+:/},o,l,{className:"meta", 1173 begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, 1174 end:/$/,keywords:{ 1175 keyword:"const disable else elseif enable end externalsource if region then"}, 1176 contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) 1177 ;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, 1178 keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] 1179 },contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], 1180 className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ 1181 match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ 1182 begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", 1183 3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, 1184 className:"type"},{className:"keyword", 1185 match:/\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))\b/ 1186 },{className:"number",relevance:0, 1187 match:/[+-]?\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/ 1188 }]}},grmr_xml:e=>{ 1189 const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ 1190 className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, 1191 contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] 1192 },r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ 1193 className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ 1194 endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr", 1195 begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{ 1196 className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{ 1197 begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{ 1198 name:"HTML, XML", 1199 aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], 1200 case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/, 1201 end:/>/,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ 1202 className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,r,o,s]}]}] 1203 },e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/, 1204 relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, 1205 relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", 1206 begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ 1207 end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", 1208 begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ 1209 end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ 1210 className:"tag",begin:/<>|<\/>/},{className:"tag", 1211 begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))), 1212 end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ 1213 className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ 1214 className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} 1215 },grmr_yaml:e=>{ 1216 const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ 1217 className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}], 1218 contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{ 1219 begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{variants:[{ 1220 begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{ 1221 begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n, 1222 relevance:0},s={begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={ 1223 begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},l=[{ 1224 className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{ 1225 begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{ 1226 begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta", 1227 begin:"^---\\s*$",relevance:10},{className:"string", 1228 begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ 1229 begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, 1230 relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", 1231 begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t 1232 },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", 1233 begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", 1234 relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ 1235 className:"number", 1236 begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" 1237 },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,{ 1238 className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/, 1239 scope:"char.escape",relevance:0}]},a],c=[...l] 1240 ;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, 1241 aliases:["yml"],contains:l}}});const Pe=ne;for(const e of Object.keys(Ue)){ 1242 const n=e.replace("grmr_","").replace("_","-");Pe.registerLanguage(n,Ue[e])} 1243 return Pe}() 1244 ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); -
ai-tool-center/tags/1.2.0/public/partials/aitoce-public-nimbot-display.php
r3311710 r3311867 68 68 <style> 69 69 .aitoce-popup-chat-box { 70 border-top-left-radius: 71 <?php echo esc_attr($header_radius); ?>px; 72 border-top-right-radius: 73 <?php echo esc_attr($header_radius); ?>px; 74 border-bottom-left-radius: 75 <?php echo esc_attr($header_radius); ?>px; 76 border-bottom-right-radius: 77 <?php echo esc_attr($header_radius); ?>px; 70 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 71 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 72 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 73 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 78 74 } 79 75 80 76 .aitoce-popup-chat-header { 81 color: 82 <?php echo esc_attr($header_text); ?> 83 ; 84 background-color: 85 <?php echo esc_attr($header_background); ?> 86 ; 87 border-top-left-radius: 88 <?php echo esc_attr($header_radius); ?>px; 89 border-top-right-radius: 90 <?php echo esc_attr($header_radius); ?>px; 77 color: <?php echo esc_attr($header_text); ?>; 78 background-color: <?php echo esc_attr($header_background); ?>; 79 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 80 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 91 81 } 92 82 93 83 .aitoce-popup-chat-input-area { 94 background-color: 95 <?php echo esc_attr($header_background); ?> 96 ; 97 border-bottom-left-radius: 98 <?php echo esc_attr($header_radius); ?>px; 99 border-bottom-right-radius: 100 <?php echo esc_attr($header_radius); ?>px; 84 background-color: <?php echo esc_attr($header_background); ?>; 85 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 86 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 101 87 } 102 88 103 89 .aitoce-popup-chat-messages { 104 height: 105 <?php echo esc_attr($message_height); ?>px; 106 max-height: 107 <?php echo esc_attr($message_height); ?>px; 108 background-color: 109 <?php echo esc_attr($message_background); ?> 110 ; 90 height: <?php echo esc_attr($message_height); ?>px; 91 max-height: <?php echo esc_attr($message_height); ?>px; 92 background-color: <?php echo esc_attr($message_background); ?>; 111 93 } 112 94 113 95 .aitoce-popup-chat-input { 114 color: 115 <?php echo esc_attr($input_text); ?> 116 ; 117 background-color: 118 <?php echo esc_attr($input_background); ?> 119 ; 120 border-radius: 121 <?php echo esc_attr($input_radius); ?>px; 96 color: <?php echo esc_attr($input_text); ?>; 97 background-color: <?php echo esc_attr($input_background); ?>; 98 border-radius: <?php echo esc_attr($input_radius); ?>px; 122 99 } 123 100 124 101 .aitoce-popup-user-message { 125 color: 126 <?php echo esc_attr($client_message_text); ?> 127 ; 128 background-color: 129 <?php echo esc_attr($client_message_background); ?> 130 ; 131 border-radius: 132 <?php echo esc_attr($client_message_radius); ?>px; 102 color: <?php echo esc_attr($client_message_text); ?>; 103 background-color: <?php echo esc_attr($client_message_background); ?>; 104 border-radius: <?php echo esc_attr($client_message_radius); ?>px; 133 105 } 134 106 135 107 .aitoce-popup-bot-message { 136 color: 137 <?php echo esc_attr($nimbot_reply_text); ?> 138 ; 139 background-color: 140 <?php echo esc_attr($nimbot_reply_background); ?> 141 ; 142 border-radius: 143 <?php echo esc_attr($nimbot_reply_radius); ?>px; 108 color: <?php echo esc_attr($nimbot_reply_text); ?>; 109 background-color: <?php echo esc_attr($nimbot_reply_background); ?>; 110 border-radius: <?php echo esc_attr($nimbot_reply_radius); ?>px; 144 111 } 145 112 146 113 .aitoce-popup-send-btn { 147 color: 148 <?php echo esc_attr($send_button_text); ?> 149 ; 150 background-color: 151 <?php echo esc_attr($send_button_background); ?> 152 ; 153 border-radius: 154 <?php echo esc_attr($send_button_radius); ?>px; 114 color: <?php echo esc_attr($send_button_text); ?>; 115 background-color: <?php echo esc_attr($send_button_background); ?>; 116 border-radius: <?php echo esc_attr($send_button_radius); ?>px; 155 117 } 156 118 157 119 .aitoce-popup-send-btn:hover { 158 color: 159 <?php echo esc_attr($send_button_text_hover); ?> 160 ; 161 background-color: 162 <?php echo esc_attr($send_button_background_hover); ?> 163 ; 120 color: <?php echo esc_attr($send_button_text_hover); ?>; 121 background-color: <?php echo esc_attr($send_button_background_hover); ?>; 164 122 } 165 123 </style> … … 179 137 <div id="aitoce-chat-input-area" class="aitoce-popup-chat-input-area"> 180 138 <textarea id="aitoce-popup-input" class="aitoce-popup-chat-input" rows="2" 181 placeholder="Type a message..." ></textarea>139 placeholder="Type a message..." aria-label="Popup Message Input"></textarea> 182 140 <div id="aitoce-popup-send-btn" class="aitoce-popup-send-btn">Send</div> 183 141 </div> -
ai-tool-center/trunk/includes/class-aitoce-shortcodes.php
r3311216 r3311867 72 72 ob_start(); 73 73 ?> 74 74 75 <style> 75 76 .aitoce-page-chat-box { 76 border-top-left-radius: 77 <?php echo esc_attr($header_radius); ?> 78 px; 79 border-top-right-radius: 80 <?php echo esc_attr($header_radius); ?> 81 px; 82 border-bottom-left-radius: 83 <?php echo esc_attr($header_radius); ?> 84 px; 85 border-bottom-right-radius: 86 <?php echo esc_attr($header_radius); ?> 87 px; 77 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 78 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 79 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 80 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 88 81 } 89 82 90 83 .aitoce-page-chat-header { 91 color: 92 <?php echo esc_attr($header_text); ?> 93 ; 94 background-color: 95 <?php echo esc_attr($header_background); ?> 96 ; 97 border-top-left-radius: 98 <?php echo esc_attr($header_radius); ?> 99 px; 100 border-top-right-radius: 101 <?php echo esc_attr($header_radius); ?> 102 px; 84 color: <?php echo esc_attr($header_text); ?>; 85 background-color: <?php echo esc_attr($header_background); ?>; 86 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 87 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 103 88 } 104 89 105 90 .aitoce-page-chat-input-area { 106 background-color: 107 <?php echo esc_attr($header_background); ?> 108 ; 109 border-bottom-left-radius: 110 <?php echo esc_attr($header_radius); ?> 111 px; 112 border-bottom-right-radius: 113 <?php echo esc_attr($header_radius); ?> 114 px; 91 background-color: <?php echo esc_attr($header_background); ?>; 92 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 93 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 115 94 } 116 95 117 96 .aitoce-page-chat-messages { 118 height: 119 <?php echo esc_attr($message_height); ?> 120 px; 121 max-height: 122 <?php echo esc_attr($message_height); ?> 123 px; 124 background-color: 125 <?php echo esc_attr($message_background); ?> 126 ; 97 height: <?php echo esc_attr($message_height); ?>px; 98 max-height: <?php echo esc_attr($message_height); ?>px; 99 background-color: <?php echo esc_attr($message_background); ?>; 127 100 } 128 101 129 102 .aitoce-page-chat-input { 130 color: 131 <?php echo esc_attr($input_text); ?> 132 ; 133 background-color: 134 <?php echo esc_attr($input_background); ?> 135 ; 136 border-radius: 137 <?php echo esc_attr($input_radius); ?> 138 px; 103 color: <?php echo esc_attr($input_text); ?>; 104 background-color: <?php echo esc_attr($input_background); ?>; 105 border-radius: <?php echo esc_attr($input_radius); ?>px; 139 106 } 140 107 141 108 .aitoce-page-user-message { 142 color: 143 <?php echo esc_attr($client_message_text); ?> 144 ; 145 background-color: 146 <?php echo esc_attr($client_message_background); ?> 147 ; 148 border-radius: 149 <?php echo esc_attr($client_message_radius); ?> 150 px; 109 color: <?php echo esc_attr($client_message_text); ?>; 110 background-color: <?php echo esc_attr($client_message_background); ?>; 111 border-radius: <?php echo esc_attr($client_message_radius); ?>px; 151 112 } 152 113 153 114 .aitoce-page-bot-message { 154 color: 155 <?php echo esc_attr($nimbot_reply_text); ?> 156 ; 157 background-color: 158 <?php echo esc_attr($nimbot_reply_background); ?> 159 ; 160 border-radius: 161 <?php echo esc_attr($nimbot_reply_radius); ?> 162 px; 115 color: <?php echo esc_attr($nimbot_reply_text); ?>; 116 background-color: <?php echo esc_attr($nimbot_reply_background); ?>; 117 border-radius: <?php echo esc_attr($nimbot_reply_radius); ?>px; 163 118 } 164 119 165 120 .aitoce-page-send-btn { 166 color: 167 <?php echo esc_attr($send_button_text); ?> 168 ; 169 background-color: 170 <?php echo esc_attr($send_button_background); ?> 171 ; 172 border-radius: 173 <?php echo esc_attr($send_button_radius); ?> 174 px; 121 color: <?php echo esc_attr($send_button_text); ?>; 122 background-color: <?php echo esc_attr($send_button_background); ?>; 123 border-radius: <?php echo esc_attr($send_button_radius); ?>px; 175 124 } 176 125 177 126 .aitoce-page-send-btn:hover { 178 color: 179 <?php echo esc_attr($send_button_text_hover); ?> 180 ; 181 background-color: 182 <?php echo esc_attr($send_button_background_hover); ?> 183 ; 127 color: <?php echo esc_attr($send_button_text_hover); ?>; 128 background-color: <?php echo esc_attr($send_button_background_hover); ?>; 184 129 } 185 130 </style> … … 199 144 <div id="aitoce-chat-input-area" class="aitoce-page-chat-input-area"> 200 145 <textarea id="aitoce-page-input" class="aitoce-page-chat-input" rows="3" 201 placeholder="<?php esc_html_e('Type a message...', 'ai-tool-center'); ?>" ></textarea>146 placeholder="<?php esc_html_e('Type a message...', 'ai-tool-center'); ?>" aria-label="Page Message Input"></textarea> 202 147 <div id="aitoce-page-send-btn" class="aitoce-page-send-btn"><?php esc_html_e('Send', 'ai-tool-center'); ?> 203 148 </div> -
ai-tool-center/trunk/public/css/aitoce-nimbot-googlecode.css
r3300306 r3311867 12 12 Colors: /blob/v0.64.0/lib/css/exports/_stacks-constants-colors.less 13 13 */ 14 #aitoce-page-bot-message pre { 15 padding: 5px; 16 border-radius: 5px; 17 } 18 14 19 pre code.hljs { 15 20 display: block; 16 21 overflow-x: auto; 17 padding: 0.6em; 22 padding: 5px; 23 border-radius: 5px; 18 24 } 19 25 -
ai-tool-center/trunk/public/js/aitoce-public-nimbot-highlight.js
r3300306 r3311867 4 4 License: BSD-3-Clause 5 5 */ 6 var hljs=function(){"use strict";function e(n){7 return n instanceof Map?n.clear=n.delete=n.set=()=>{8 throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{9 throw Error("set is read-only")10 }),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{11 const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a)12 })),n}class n{constructor(e){13 void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}14 ignoreMatch(){this.isMatchIgnored=!0}}function t(e){15 return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")16 }function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n]17 ;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope18 ;class r{constructor(e,n){19 this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){20 this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{21 if(e.startsWith("language:"))return e.replace("language:","language-")22 ;if(e.includes(".")){const t=e.split(".")23 ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ")24 }return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)}25 closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){26 this.buffer+=`<span class="${e}">`}}const s=(e={})=>{const n={children:[]}27 ;return Object.assign(n,e),n};class o{constructor(){28 this.rootNode=s(),this.stack=[this.rootNode]}get top(){29 return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){30 this.top.children.push(e)}openNode(e){const n=s({scope:e})31 ;this.add(n),this.stack.push(n)}closeNode(){32 if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){33 for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}34 walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){35 return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),36 n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){37 "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{38 o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e}39 addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){40 this.closeNode()}__addSublanguage(e,n){const t=e.root41 ;n&&(t.scope="language:"+n),this.add(t)}toHTML(){42 return new r(this,this.options).value()}finalize(){43 return this.closeAllNodes(),!0}}function c(e){44 return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")}45 function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")}46 function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{47 const n=e[e.length-1]48 ;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}49 })(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"}50 function p(e){return RegExp(e.toString()+"|").exec("").length-1}51 const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./52 ;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t53 ;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break}54 i+=a.substring(0,e.index),55 a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0],56 "("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)}57 const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",N={58 begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'",59 illegal:"\\n",contains:[N]},x={scope:"string",begin:'"',end:'"',illegal:"\\n",60 contains:[N]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n,61 contains:[]},t);i.contains.push({scope:"doctag",62 begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",63 end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0})64 ;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/)65 ;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i66 },M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({67 __proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:N,BINARY_NUMBER_MODE:{68 scope:"number",begin:v,relevance:0},BINARY_NUMBER_RE:v,COMMENT:O,69 C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number",70 begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{71 "on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{72 n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f,73 MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0},74 NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y,75 PHRASAL_WORDS_MODE:{76 begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/77 },QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,78 end:/\/[gimuy]*/,contains:[N,{begin:/\[/,end:/\]/,relevance:0,contains:[N]}]},79 RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",80 SHEBANG:(e={})=>{const n=/^#![ ]*\//81 ;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n,82 end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},83 TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E,84 UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){85 "."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){86 void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){87 n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",88 e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,89 void 0===e.relevance&&(e.relevance=0))}function I(e,n){90 Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){91 if(e.match){92 if(e.begin||e.end)throw Error("begin & end are not supported with match")93 ;e.begin=e.match,delete e.match}}function B(e,n){94 void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return95 ;if(e.starts)throw Error("beforeMatch cannot be used with starts")96 ;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n]97 })),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={98 relevance:0,contains:[Object.assign(t,{endsParent:!0})]99 },e.relevance=0,delete t.beforeMatch100 },F=["of","and","for","in","not","or","if","then","parent","list","value"]101 ;function z(e,n,t="keyword"){const a=Object.create(null)102 ;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{103 Object.assign(a,z(e[t],n,t))})),a;function i(e,t){104 n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|")105 ;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){106 return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const U={},P=e=>{107 console.error(e)},K=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{108 U[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),U[`${e}/${n}`]=!0)109 },H=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={}110 ;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1])111 ;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function Z(e){(e=>{112 e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,113 delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={114 _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope115 }),(e=>{if(Array.isArray(e.begin)){116 if(e.skip||e.excludeBegin||e.returnBegin)throw P("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),117 H118 ;if("object"!=typeof e.beginScope||null===e.beginScope)throw P("beginScope must be object"),119 H;G(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{120 if(Array.isArray(e.end)){121 if(e.skip||e.excludeEnd||e.returnEnd)throw P("skip, excludeEnd, returnEnd not compatible with endScope: {}"),122 H123 ;if("object"!=typeof e.endScope||null===e.endScope)throw P("endScope must be object"),124 H;G(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function W(e){125 function n(n,t){126 return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":""))127 }class t{constructor(){128 this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}129 addRule(e,n){130 n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),131 this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)132 ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|"133 }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex134 ;const n=this.matcherRe.exec(e);if(!n)return null135 ;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t]136 ;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){137 this.rules=[],this.multiRegexes=[],138 this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){139 if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t140 ;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))),141 n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){142 return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){143 this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){144 const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex145 ;let t=n.exec(e)146 ;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{147 const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)}148 return t&&(this.regexIndex+=t.position+1,149 this.regexIndex===this.count&&this.considerAll()),t}}150 if(e.compilerExtensions||(e.compilerExtensions=[]),151 e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.")152 ;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r153 ;if(r.isCompiled)return o154 ;[R,L,Z,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))),155 r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null156 ;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords),157 l=r.keywords.$pattern,158 delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=z(r.keywords,e.case_insensitive)),159 o.keywordPatternRe=n(l,!0),160 s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),161 r.end&&(o.endRe=n(o.end)),162 o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)),163 r.illegal&&(o.illegalRe=n(r.illegal)),164 r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{165 variants:null},n)))),e.cachedVariants?e.cachedVariants:Q(e)?a(e,{166 starts:e.starts?a(e.starts):null167 }):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o)168 })),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i169 ;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin"170 }))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end"171 }),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function Q(e){172 return!!e&&(e.endsWithParent||Q(e.starts))}class X extends Error{173 constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}}174 const V=t,J=a,Y=Symbol("nomatch"),ee=t=>{175 const a=Object.create(null),i=Object.create(null),r=[];let s=!0176 ;const o="Could not find the language '{}', did you forget to load/include a language module?",c={177 disableAutodetect:!0,name:"Plain text",contains:[]};let p={178 ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,179 languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",180 cssSelector:"div.aitoce-bot-messagepre code",languages:null,__emitter:l};function _(e){181 return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i=""182 ;"object"==typeof n?(a=e,183 t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."),184 q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),185 i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r)186 ;const s=r.result?r.result:f(r.language,r.code,t)187 ;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){188 const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S)189 ;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t=""190 ;for(;n;){t+=S.substring(e,n.index)191 ;const i=v.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){192 const[e,a]=r193 ;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{194 const t=v.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0]195 ;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a196 ;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{197 if(""===S)return;let e=null;if("string"==typeof O.subLanguage){198 if(!a[O.subLanguage])return void A.addText(S)199 ;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top200 }else e=E(S,O.subLanguage.length?O.subLanguage:null)201 ;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language)202 })():c(),S=""}function g(e,n){203 ""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1204 ;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue}205 const a=v.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}}206 function b(e,n){207 return e.scope&&"string"==typeof e.scope&&A.openNode(v.classNameAliases[e.scope]||e.scope),208 e.beginScope&&(e.beginScope._wrap?(g(S,v.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),209 S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{210 value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n)211 ;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e)212 ;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){213 for(;e.endsParent&&e.parent;)e=e.parent;return e}}214 if(e.endsWithParent)return m(e.parent,t,a)}function _(e){215 return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){216 const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return Y;const r=O217 ;O.endScope&&O.endScope._wrap?(d(),218 g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(),219 u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n),220 d(),r.excludeEnd&&(S=n));do{221 O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent222 }while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length}223 let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0224 ;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){225 if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`)226 ;throw n.languageName=e,n.badRule=y.rule,n}return 1}227 if(y=r,"begin"===r.type)return(e=>{228 const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]]229 ;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t)230 ;return a.skip?S+=t:(a.excludeBegin&&(S+=t),231 d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r)232 ;if("illegal"===r.type&&!i){233 const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"<unnamed>")+'"')234 ;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==Y)return e}235 if("illegal"===r.type&&""===o)return S+="\n",1236 ;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches")237 ;return S+=o,o.length}const v=N(e)238 ;if(!v)throw P(o.replace("{}",e)),Error('Unknown language: "'+e+'"')239 ;const k=W(v);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[]240 ;for(let n=O;n!==v;n=n.parent)n.scope&&e.unshift(n.scope)241 ;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{242 if(v.__emitTokens)v.__emitTokens(t,A);else{for(O.matcher.considerAll();;){243 R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T244 ;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e)245 ;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e,246 value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){247 if(n.message&&n.message.includes("Illegal"))return{language:e,value:V(t),248 illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T,249 context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{250 language:e,value:V(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O}251 ;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{252 const n={value:V(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)}253 ;return n._emitter.addText(e),n})(e),i=n.filter(N).filter(x).map((n=>f(n,e,!1)))254 ;i.unshift(t);const r=i.sort(((e,n)=>{255 if(e.relevance!==n.relevance)return n.relevance-e.relevance256 ;if(e.language&&n.language){if(N(e.language).supersetOf===n.language)return 1257 ;if(N(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s258 ;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{259 let n=e.className+" ";n+=e.parentNode?e.parentNode.className:""260 ;const t=p.languageDetectRe.exec(n);if(t){const n=N(t[1])261 ;return n||(K(o.replace("{}",t[1])),262 K("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"}263 return n.split(/\s+/).find((e=>_(e)||N(e)))})(e);if(_(t))return264 ;if(O("before:highlightElement",{el:e,language:t265 }),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)266 ;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),267 console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),268 console.warn("The element with unescaped HTML:"),269 console.warn(e)),p.throwUnescapedHTML))throw new X("One of your code blocks includes unescaped HTML.",e.innerHTML)270 ;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a)271 ;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t272 ;e.classList.add("hljs"),e.classList.add("language-"+a)273 })(e,t,r.language),e.result={language:r.language,re:r.relevance,274 relevance:r.relevance},r.secondBest&&(e.secondBest={275 language:r.secondBest.language,relevance:r.secondBest.relevance276 }),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function v(){277 if("loading"===document.readyState)return w||window.addEventListener("DOMContentLoaded",(()=>{278 v()}),!1),void(w=!0);document.querySelectorAll(p.cssSelector).forEach(y)}279 function N(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]}280 function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{281 i[e.toLowerCase()]=n}))}function x(e){const n=N(e)282 ;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{283 e[t]&&e[t](n)}))}Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:v,284 highlightElement:y,285 highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"),286 q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=J(p,e)},287 initHighlighting:()=>{288 v(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},289 initHighlightingOnLoad:()=>{290 v(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")291 },registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){292 if(P("Language definition for '{}' could not be registered.".replace("{}",e)),293 !s)throw n;P(n),i=c}294 i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{295 languageName:e})},unregisterLanguage:e=>{delete a[e]296 ;for(const n of Object.keys(i))i[n]===e&&delete i[n]},297 listLanguages:()=>Object.keys(a),getLanguage:N,registerAliases:k,298 autoDetection:x,inherit:J,addPlugin:e=>{(e=>{299 e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{300 e["before:highlightBlock"](Object.assign({block:n.el},n))301 }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{302 e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)},303 removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{304 s=!1},t.safeMode=()=>{s=!0},t.versionString="11.11.1",t.regex={concat:b,305 lookahead:d,either:m,optional:u,anyNumberOfTimes:g}306 ;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t307 },ne=ee({});ne.newInstance=()=>ee({});const te=e=>({IMPORTANT:{scope:"meta",308 begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{309 scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},310 FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},311 ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",312 contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{313 scope:"number",314 begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",315 relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}316 }),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oe=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),le=re.concat(se).sort().reverse()317 ;var ce="[0-9](_*[0-9])*",de=`\\.(${ce})`,ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ue={318 className:"number",variants:[{319 begin:`(\\b(${ce})((${de})|\\.)?|(${de}))[eE][+-]?(${ce})[fFdD]?\\b`},{320 begin:`\\b(${ce})((${de})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{321 begin:`(${de})[fFdD]?\\b`},{begin:`\\b(${ce})[fFdD]\\b`},{322 begin:`\\b0[xX]((${ge})\\.?|(${ge})?\\.(${ge}))[pP][+-]?(${ce})[fFdD]?\\b`},{323 begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ge})[lL]?\\b`},{324 begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],325 relevance:0};function be(e,n,t){return-1===t?"":e.replace(n,(a=>be(e,n,t-1)))}326 const me="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_e=["true","false","null","undefined","NaN","Infinity"],he=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],fe=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ee=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],we=[].concat(Ee,he,fe)327 ;function ve(e){const n=e.regex,t=me,a={begin:/<[A-Za-z0-9\\._:-]+/,328 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{329 const t=e[0].length+e.index,a=e.input[t]330 ;if("<"===a||","===a)return void n.ignoreMatch();let i331 ;">"===a&&(((e,{after:n})=>{const t="</"+e[0].slice(1)332 ;return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch())333 ;const r=e.input.substring(t)334 ;((i=r.match(/^\s*=/))||(i=r.match(/^\s+extends\s+/))&&0===i.index)&&n.ignoreMatch()335 }},i={$pattern:me,keyword:pe,literal:_e,built_in:we,"variable.language":ye336 },r="[0-9](_?[0-9])*",s=`\\.(${r})`,o="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",l={337 className:"number",variants:[{338 begin:`(\\b(${o})((${s})|\\.)?|(${s}))[eE][+-]?(${r})\\b`},{339 begin:`\\b(${o})\\b((${s})\\b|\\.)?|(${s})\\b`},{340 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{341 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{342 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{343 begin:"\\b0[0-7]+n?\\b"}],relevance:0},c={className:"subst",begin:"\\$\\{",344 end:"\\}",keywords:i,contains:[]},d={begin:".?html`",end:"",starts:{end:"`",345 returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"xml"}},g={346 begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,347 contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"css"}},u={begin:".?gql`",end:"",348 starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],349 subLanguage:"graphql"}},b={className:"string",begin:"`",end:"`",350 contains:[e.BACKSLASH_ESCAPE,c]},m={className:"comment",351 variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{352 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",353 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,354 excludeBegin:!0,relevance:0},{className:"variable",begin:t+"(?=\\s*(-)|$)",355 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]356 }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]357 },p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,{match:/\$\d+/},l]358 ;c.contains=p.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(p)359 });const _=[].concat(m,c.contains),h=_.concat([{begin:/(\s*)\(/,end:/\)/,360 keywords:i,contains:["self"].concat(_)}]),f={className:"params",begin:/(\s*)\(/,361 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h},E={variants:[{362 match:[/class/,/\s+/,t,/\s+/,/extends/,/\s+/,n.concat(t,"(",n.concat(/\./,t),")*")],363 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{364 match:[/class/,/\s+/,t],scope:{1:"keyword",3:"title.class"}}]},y={relevance:0,365 match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),366 className:"title.class",keywords:{_:[...he,...fe]}},w={variants:[{367 match:[/function/,/\s+/,t,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],368 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[f],369 illegal:/%/},v={370 match:n.concat(/\b/,(N=[...Ee,"super","import"].map((e=>e+"\\s*\\(")),371 n.concat("(?!",N.join("|"),")")),t,n.lookahead(/\s*\(/)),372 className:"title.function",relevance:0};var N;const k={373 begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t,374 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={375 match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"},376 contains:[{begin:/\(\)/},f]377 },O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={378 match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)],379 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]}380 ;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{381 PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/,382 contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{383 label:"use_strict",className:"meta",relevance:10,384 begin:/^\s*['"]use (strict|asm)['"]/385 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{386 scope:"attr",match:t+n.lookahead(":"),relevance:0},M,{387 begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",388 keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{389 className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{390 className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{391 className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,392 excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0393 },{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{394 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin,395 "on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{396 begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{397 beginKeywords:"while if switch catch for"},{398 begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",399 returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t,400 className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,401 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},402 contains:[f]},v,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,403 className:"variable.constant"},E,x,{match:/\$[(.]/}]}}404 const Ne=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ke=["Protocol","Type"].map(Ne),xe=["init","self"].map(Ne),Oe=["Any","Self"],Me=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ae=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ce=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Te=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Re=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),De=m(Re,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Ie=b(Re,De,"*"),Le=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Be=m(Le,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),$e=b(Le,Be,"*"),Fe=b(/[A-Z]/,Be,"*"),ze=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,$e,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],je=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"]405 ;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={406 begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]}407 ;Object.assign(t,{className:"variable",variants:[{408 begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={409 className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]410 },r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={411 begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,412 end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,413 contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/,414 end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]415 },c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10416 }),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,417 contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{418 name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,419 keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],420 literal:["true","false"],421 built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]422 },contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{423 className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{424 const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]425 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={426 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{427 match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{428 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{429 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",430 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({431 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={432 className:"number",variants:[{match:/\b(0b[01']+)/},{433 match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/434 },{435 match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/436 },{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0437 },c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{438 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"439 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{440 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={441 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0442 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={443 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],444 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],445 literal:"true false NULL",446 built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"447 },b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{448 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],449 keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u,450 contains:b.concat(["self"]),relevance:0}]),relevance:0},p={451 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,452 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{453 begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],454 relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,455 keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,456 end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]457 }]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u,458 disableAutodetect:!0,illegal:"</",contains:[].concat(m,p,b,[c,{459 begin:e.IDENT_RE+"::",keywords:u},{className:"class",460 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{461 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,462 strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{463 contains:[{begin:/\\\n/}]464 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={465 className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{466 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{467 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",468 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({469 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={470 className:"number",variants:[{471 begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"472 },{473 begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"474 }],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{475 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"476 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{477 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={478 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0479 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={480 type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],481 keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],482 literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],483 _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]484 },b={className:"function.dispatch",relevance:0,keywords:{485 _hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]486 },487 begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))488 },m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{489 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],490 keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u,491 contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",492 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,493 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{494 begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{495 begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{496 className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0,497 contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u,498 relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}]499 },s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",500 aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"</",501 classNameAliases:{"function.dispatch":"built_in"},502 contains:[].concat(p,_,b,m,[c,{503 begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",504 end:">",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{505 match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],506 className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={507 keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),508 built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],509 literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{510 begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{511 begin:"\\b(0b[01']+)"},{512 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{513 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"514 }],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]515 },r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/,516 keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/,517 end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/518 },e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{519 begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/,520 contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]})521 ;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],522 o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{523 illegal:/\n/})];const g={variants:[{className:"string",524 begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1525 },c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">",526 contains:[{beginKeywords:"in out"},t]527 },b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={528 begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],529 keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,530 contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{531 begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]532 }),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",533 end:"$",keywords:{534 keyword:"if else elif endif define undef warning error line region endregion pragma checksum"535 }},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,536 illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"537 },t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",538 relevance:0,end:/[{;=]/,illegal:/[^\s:]/,539 contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{540 beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,541 contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",542 begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{543 className:"string",begin:/"/,end:/"/}]},{544 beginKeywords:"new return throw await else",relevance:0},{className:"function",545 begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,546 end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{547 beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",548 relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,549 contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params",550 begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,551 contains:[g,a,e.C_BLOCK_COMMENT_MODE]552 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{553 const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{554 name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{555 keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},556 contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/557 },t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0558 },{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0559 },t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{560 begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}]561 },t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{562 begin:/:/,end:/[;}{]/,563 contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{564 begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"565 },contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,566 excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",567 relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/568 },{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{569 $pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{570 begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{571 className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{572 const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{573 className:"meta",relevance:10,574 match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)575 },{className:"comment",variants:[{576 begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),577 end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{578 className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,579 end:/$/}]}},grmr_go:e=>{const n={580 keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],581 type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],582 literal:["true","false","iota","nil"],583 built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]584 };return{name:"Go",aliases:["golang"],keywords:n,illegal:"</",585 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",586 variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{587 className:"number",variants:[{588 match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0589 },{590 match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,591 relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{592 match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{593 match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{594 begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",595 excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,596 endsParent:!0,keywords:n,illegal:/["']/}]}]}},grmr_graphql:e=>{const n=e.regex597 ;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,598 keywords:{599 keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],600 literal:["true","false","null"]},601 contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{602 scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",603 begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,604 end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{605 scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)),606 relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={607 className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{608 begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,609 end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{610 begin:/\$\{(.*?)\}/}]},r={className:"literal",611 begin:/\bon|off|true|false|yes|no\b/},s={className:"string",612 contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{613 begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]614 },o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0615 },l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{616 name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,617 contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{618 begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)),619 className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{620 const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+be("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={621 keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],622 literal:["false","true","null"],623 type:["char","boolean","long","float","int","byte","short","double"],624 built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{625 begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/,626 end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0}627 ;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,628 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,629 relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{630 begin:/import java\.[a-z]+\./,keywords:"import",relevance:2631 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,632 className:"string",contains:[e.BACKSLASH_ESCAPE]633 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{634 match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{635 1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{636 begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",637 3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",638 3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{639 beginKeywords:"new throw return else",relevance:0},{640 begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{641 2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,642 end:/\)/,keywords:i,relevance:0,643 contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ue,e.C_BLOCK_COMMENT_MODE]644 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ue,r]}},grmr_javascript:ve,645 grmr_json:e=>{const n=["true","false","null"],t={scope:"literal",646 beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{647 literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,648 relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0649 },e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],650 illegal:"\\S"}},grmr_kotlin:e=>{const n={651 keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",652 built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",653 literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"654 },a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={655 className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string",656 variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'",657 illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,658 contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={659 className:"meta",660 begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"661 },o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,662 end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}]663 },l=ue,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={664 variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,665 contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g],666 {name:"Kotlin",aliases:["kt","kts"],keywords:n,667 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",668 begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",669 begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",670 begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$",671 returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{672 begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,673 contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,674 keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,675 endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,676 endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0677 },e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{678 begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{679 3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,680 illegal:"extends implements",contains:[{681 beginKeywords:"public protected internal private constructor"682 },e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,683 excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,684 excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env",685 end:"$",illegal:"\n"},l]}},grmr_less:e=>{686 const n=te(e),t=le,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({687 className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n,688 relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only",689 attribute:ie.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c,690 relevance:0}691 ;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{692 begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",693 excludeEnd:!0}694 },n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{695 className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0696 },n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({697 begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0,698 contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:",699 returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/700 },n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b",701 end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]702 },m={className:"keyword",703 begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",704 starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={705 className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a706 }],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{707 begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,708 returnEnd:!0,illegal:"[<='$\"]",relevance:0,709 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{710 begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag"711 },n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{712 className:"selector-pseudo",begin:":("+re.join("|")+")"},{713 className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/,714 end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={715 begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]}716 ;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH),717 {name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}},718 grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"]719 },i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10720 })];return{name:"Lua",aliases:["pluto"],keywords:{721 $pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",722 keyword:"and break do else elseif end for goto if in local not or repeat return then until while",723 built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"724 },contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",725 contains:[e.inherit(e.TITLE_MODE,{726 begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",727 begin:"\\(",endsWithParent:!0,contains:i}].concat(i)728 },e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",729 begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={730 className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",731 contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string",732 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},a={className:"variable",733 begin:/\$\([\w-]+\s/,end:/\)/,keywords:{734 built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"735 },contains:[n,t]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={736 className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{737 name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,738 keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"739 },contains:[e.HASH_COMMENT_MODE,n,t,a,i,{className:"meta",begin:/^\.PHONY:/,740 end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}},grmr_markdown:e=>{741 const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={742 variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{743 begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,744 relevance:2},{745 begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),746 relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{747 begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/748 },{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,749 returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",750 excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",751 end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[],752 variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]753 },i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{754 begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[]755 }),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r)756 ;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o)757 })),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{758 className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{759 begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",760 contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",761 end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o,762 end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{763 begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{764 begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",765 contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{766 begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{767 className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{768 className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",769 match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}},770 grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n,771 keyword:["@interface","@class","@protocol","@implementation"]};return{772 name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],773 keywords:{"variable.language":["this","super"],$pattern:n,774 keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],775 literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],776 built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],777 type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]778 },illegal:"</",contains:[{className:"built_in",779 begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"780 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{781 className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",782 contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,783 keywords:{784 keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"785 },contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{786 className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"787 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",788 begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,789 contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,790 relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={791 $pattern:/[\w.]+/,792 keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"793 },i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/,794 end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable",795 variants:[{begin:/\$\d/},{796 begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")797 },{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={798 className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{799 match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{800 match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{801 match:/\b0b[0-1][0-1_]*\b/}],relevance:0802 },c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{803 const r="\\1"===i?i:n.concat(i,a)804 ;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t)805 },u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{806 endsWithParent:!0}),r,{className:"string",contains:c,variants:[{807 begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",808 end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{809 begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",810 relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",811 contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",812 contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{813 begin:"-?\\w+\\s*=>",relevance:0}]},l,{814 begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",815 keywords:"split return print reverse grep",relevance:0,816 contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{817 begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{818 begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{819 className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{820 begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0821 }),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{822 begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",823 end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s]824 },{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,825 contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",826 end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",827 className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl",828 aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{829 const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r=n.concat(/[A-Z]+/,t),s={830 scope:"variable",match:"\\$+"+a},o={scope:"subst",variants:[{begin:/\$\w+/},{831 begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null832 }),c="[ \t\n]",d={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{833 illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{834 begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,835 contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,n)=>{836 n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{837 n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({838 begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},g={scope:"number",variants:[{839 begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{840 begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{841 begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"842 }],relevance:0843 },u=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],p={844 keyword:b,literal:(e=>{const n=[];return e.forEach((e=>{845 n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase())846 })),n})(u),built_in:m},_=e=>e.map((e=>e.replace(/\|\d+$/,""))),h={variants:[{847 match:[/new/,n.concat(c,"+"),n.concat("(?!",_(m).join("\\b|"),"\\b)"),i],scope:{848 1:"keyword",4:"title.class"}}]},f=n.concat(a,"\\b(?!\\()"),E={variants:[{849 match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{2:"variable.constant"850 }},{match:[/::/,/class/],scope:{2:"variable.language"}},{851 match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{1:"title.class",852 3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))],853 scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",854 3:"variable.language"}}]},y={scope:"attr",855 match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},w={relevance:0,856 begin:/\(/,end:/\)/,keywords:p,contains:[y,s,E,e.C_BLOCK_COMMENT_MODE,d,g,h]857 },v={relevance:0,858 match:[/\b/,n.concat("(?!fn\\b|function\\b|",_(b).join("\\b|"),"|",_(m).join("\\b|"),"\\b)"),a,n.concat(c,"*"),n.lookahead(/(?=\()/)],859 scope:{3:"title.function.invoke"},contains:[w]};w.contains.push(v)860 ;const N=[y,E,e.C_BLOCK_COMMENT_MODE,d,g,h],k={861 begin:n.concat(/#\[\s*\\?/,n.either(i,r)),beginScope:"meta",end:/]/,862 endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{863 begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]},864 contains:["self",...N]},...N,{scope:"meta",variants:[{match:i},{match:r}]}]}865 ;return{case_insensitive:!1,keywords:p,866 contains:[k,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{867 contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,868 keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,869 contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{870 begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{871 begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},s,v,E,{872 match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},h,{873 scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,874 excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"875 },e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",876 begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:p,877 contains:["self",k,s,E,e.C_BLOCK_COMMENT_MODE,d,g]}]},{scope:"class",variants:[{878 beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",879 illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{880 beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{881 beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,882 contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{883 beginKeywords:"use",relevance:0,end:";",contains:[{884 match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},d,g]}885 },grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{886 begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",887 end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0888 },e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,889 skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,890 contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text",891 aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{892 const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={893 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,894 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],895 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],896 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]897 },r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/,898 end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={899 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{900 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,901 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{902 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,903 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{904 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,905 contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,906 end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/,907 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{908 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,909 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,910 contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,911 contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]912 },c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={913 className:"number",relevance:0,variants:[{914 begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{915 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{916 begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`917 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})`918 }]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i,919 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={920 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,921 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,922 contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{923 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,924 illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/925 },{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"926 },l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",927 3:"title.function"},contains:[m]},{variants:[{928 match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],929 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{930 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}},931 grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt",932 starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{933 begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{934 const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/)935 ;return{name:"R",keywords:{$pattern:t,936 keyword:"function if in break next repeat else for while",937 literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",938 built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"939 },contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,940 starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),941 endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{942 scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0943 }]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]944 }),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],945 variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/946 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/947 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/948 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/949 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/950 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',951 relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{952 1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"},953 match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{954 2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},955 match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{956 match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`",957 contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{958 const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={959 "variable.constant":["__FILE__","__LINE__","__ENCODING__"],960 "variable.language":["self","super"],961 keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],962 built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],963 literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={964 begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s]965 }),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10966 }),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,967 end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c],968 variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{969 begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{970 begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,971 end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{972 begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{973 begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{974 begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{975 begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{976 begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),977 contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,978 contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number",979 relevance:0,variants:[{980 begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{981 begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"982 },{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{983 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{984 begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{985 className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,986 keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{987 match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",988 4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{989 2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{990 1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,991 className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{992 match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{993 begin:e.IDENT_RE+"::"},{className:"symbol",994 begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",995 begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable",996 begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{997 className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,998 relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",999 keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],1000 illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{1001 begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",1002 end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l)1003 ;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m}1004 },{className:"meta.prompt",1005 begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",1006 starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby",1007 aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/,1008 contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}},1009 grmr_rust:e=>{1010 const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={1011 className:"title.function.invoke",relevance:0,1012 begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/))1013 },s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"]1014 ;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l,1015 keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],1016 literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</",1017 contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]1018 }),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{1019 className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",1020 variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{1021 scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{1022 className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s1023 },{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{1024 begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{1025 begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{1026 className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",1027 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{1028 begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword",1029 4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword",1030 3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword",1031 3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a],1032 className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{1033 keyword:"Self",built_in:o,type:l}},{className:"punctuation",begin:"->"},r]}},1034 grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable",1035 begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",1036 case_insensitive:!0,illegal:"[=/|']",1037 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{1038 className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{1039 className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:01040 },n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",1041 begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo",1042 begin:":("+a.join("|")+")"},{className:"selector-pseudo",1043 begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/,1044 contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute",1045 begin:"\\b("+oe.join("|")+")\\b"},{1046 begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"1047 },{begin:/:/,end:/[;}{]/,relevance:0,1048 contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH]1049 },{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{1050 begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,1051 keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i,1052 className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"1053 },r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE]1054 },n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session",1055 aliases:["console","shellsession"],contains:[{className:"meta.prompt",1056 begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,1057 subLanguage:"bash"}}]}),grmr_sql:e=>{1058 const n=e.regex,t=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=a,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!a.includes(e))),s={1059 match:n.concat(/\b/,n.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}}1060 ;function o(e){1061 return n.concat(/\b/,n.either(...e.map((e=>e.replace(/\s+/,"\\s+")))),/\b/)}1062 const l={scope:"keyword",1063 match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),1064 relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{1065 $pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t1066 ;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e))1067 })(r,{when:e=>e.length<3}),literal:["true","false","unknown"],1068 type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],1069 built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]1070 },contains:[{scope:"type",1071 match:o(["double precision","large object","with timezone","without timezone"])1072 },l,s,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{1073 begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{1074 match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{scope:"operator",1075 match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}},1076 grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{1077 contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,m(...ke,...xe)],1078 className:{2:"keyword"}},r={match:b(/\./,m(...Me)),relevance:01079 },s=Me.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{1080 className:"keyword",1081 match:m(...Me.filter((e=>"string"!=typeof e)).concat(Oe).map(Ne),...xe)}]},l={1082 $pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Ce),literal:Ae},c=[i,r,o],g=[{1083 match:b(/\./,m(...Te)),relevance:0},{className:"built_in",1084 match:b(/\b/,m(...Te),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{1085 className:"operator",relevance:0,variants:[{match:Ie},{match:`\\.(\\.|${De})+`}]1086 }],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0,1087 variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{1088 match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/1089 },{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{1090 match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]1091 }),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)1092 }),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/1093 }),v=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)]1094 }),N=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={1095 className:"string",1096 variants:[v(),v("#"),v("##"),v("###"),N(),N("#"),N("##"),N("###")]1097 },x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,1098 contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,1099 contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t,1100 contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={1101 scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,$e,/`/)1102 },C=[S,{className:"variable",match:/\$\d+/},{className:"variable",1103 match:`\\$${Be}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{1104 contains:[{begin:/\(/,end:/\)/,keywords:je,contains:[...p,f,k]}]}},{1105 scope:"keyword",match:b(/@/,m(...ze),d(m(/\(/,/\s+/)))},{scope:"meta",1106 match:b(/@/,$e)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type",1107 match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Be,"+")1108 },{className:"type",match:Fe,relevance:0},{match:/[?!]+/,relevance:0},{1109 match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Fe)),relevance:0}]},D={1110 begin:/</,end:/>/,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D)1111 ;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{1112 match:b($e,/\s*:/),keywords:"_|0",relevance:01113 },...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin:/</,end:/>/,1114 keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l,1115 contains:[{begin:m(d(b($e,/\s*:/)),d(b($e,/\s+/,$e,/\s*:/))),end:/:/,1116 relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",1117 match:$e}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={1118 match:[/(func|macro)/,/\s+/,m(S.match,$e,Ie)],className:{1:"keyword",1119 3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={1120 match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},1121 contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Ie],className:{1122 1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,Fe],className:{1123 1:"keyword",3:"title"},contains:[R],keywords:[...Se,...Ae],end:/}/},U={1124 begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,$e,/\s*/],1125 beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/,1126 end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:Fe},...c],1127 relevance:0}]};for(const e of k.variants){1128 const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l1129 ;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/,1130 contains:["self",...t]}]}return{name:"Swift",keywords:l,contains:[...a,$,F,{1131 match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1132 1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],1133 scope:{1:"keyword",3:"keyword"}},U,z,j,{beginKeywords:"import",end:/$/,1134 contains:[...a],relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}},1135 grmr_typescript:e=>{1136 const n=e.regex,t=ve(e),a=me,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={1137 begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}1138 },s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{1139 keyword:"interface extends",built_in:i},contains:[t.exports.CLASS_REFERENCE]1140 },o={$pattern:me,1141 keyword:pe.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),1142 literal:_e,built_in:we.concat(i),"variable.language":ye},l={className:"meta",1143 begin:"@"+a},c=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n))1144 ;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)}1145 ;Object.assign(t.keywords,o),t.exports.PARAMS_CONTAINS.push(l)1146 ;const d=t.contains.find((e=>"attr"===e.scope)),g=Object.assign({},d,{1147 match:n.concat(a,n.lookahead(/\s*\?:/))})1148 ;return t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,d,g]),1149 t.contains=t.contains.concat([l,r,s,g]),1150 c(t,"shebang",e.SHEBANG()),c(t,"use_strict",{className:"meta",relevance:10,1151 begin:/^\s*['"]use strict['"]/1152 }),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{1153 name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t},grmr_vbnet:e=>{1154 const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={1155 className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{1156 begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{1157 begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}]1158 },o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]1159 }),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]})1160 ;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,1161 classNameAliases:{label:"symbol"},keywords:{1162 keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",1163 built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",1164 type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",1165 literal:"true false nothing"},1166 illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{1167 className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,1168 end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0,1169 variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/1170 },{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{1171 begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{1172 className:"label",begin:/^\w+:/},o,l,{className:"meta",1173 begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,1174 end:/$/,keywords:{1175 keyword:"const disable else elseif enable end externalsource if region then"},1176 contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/)1177 ;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,1178 keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]1179 },contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/],1180 className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{1181 match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{1182 begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",1183 3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,1184 className:"type"},{className:"keyword",1185 match:/\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))\b/1186 },{className:"number",relevance:0,1187 match:/[+-]?\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/1188 }]}},grmr_xml:e=>{1189 const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={1190 className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,1191 contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]1192 },r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{1193 className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={1194 endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",1195 begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{1196 className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{1197 begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{1198 name:"HTML, XML",1199 aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],1200 case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,1201 end:/>/,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{1202 className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,r,o,s]}]}]1203 },e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,1204 relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,1205 relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",1206 begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{1207 end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",1208 begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{1209 end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{1210 className:"tag",begin:/<>|<\/>/},{className:"tag",1211 begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))),1212 end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{1213 className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{1214 className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}1215 },grmr_yaml:e=>{1216 const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={1217 className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],1218 contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{1219 begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{variants:[{1220 begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{1221 begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,1222 relevance:0},s={begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={1223 begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},l=[{1224 className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{1225 begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{1226 begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",1227 begin:"^---\\s*$",relevance:10},{className:"string",1228 begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{1229 begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,1230 relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",1231 begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t1232 },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",1233 begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",1234 relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{1235 className:"number",1236 begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"1237 },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,{1238 className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,1239 scope:"char.escape",relevance:0}]},a],c=[...l]1240 ;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0,1241 aliases:["yml"],contains:l}}});const Pe=ne;for(const e of Object.keys(Ue)){1242 const n=e.replace("grmr_","").replace("_","-");Pe.registerLanguage(n,Ue[e])}1243 return Pe}()1244 ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);6 var hljs=function(){"use strict";function e(n){ 7 return n instanceof Map?n.clear=n.delete=n.set=()=>{ 8 throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ 9 throw Error("set is read-only") 10 }),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ 11 const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) 12 })),n}class n{constructor(e){ 13 void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} 14 ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ 15 return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'") 16 }function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] 17 ;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope 18 ;class r{constructor(e,n){ 19 this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ 20 this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ 21 if(e.startsWith("language:"))return e.replace("language:","language-") 22 ;if(e.includes(".")){const t=e.split(".") 23 ;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") 24 }return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} 25 closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){ 26 this.buffer+=`<span class="${e}">`}}const s=(e={})=>{const n={children:[]} 27 ;return Object.assign(n,e),n};class o{constructor(){ 28 this.rootNode=s(),this.stack=[this.rootNode]}get top(){ 29 return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ 30 this.top.children.push(e)}openNode(e){const n=s({scope:e}) 31 ;this.add(n),this.stack.push(n)}closeNode(){ 32 if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ 33 for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} 34 walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ 35 return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), 36 n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ 37 "string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ 38 o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} 39 addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ 40 this.closeNode()}__addSublanguage(e,n){const t=e.root 41 ;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ 42 return new r(this,this.options).value()}finalize(){ 43 return this.closeAllNodes(),!0}}function c(e){ 44 return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} 45 function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} 46 function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ 47 const n=e[e.length-1] 48 ;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} 49 })(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} 50 function p(e){return RegExp(e.toString()+"|").exec("").length-1} 51 const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ 52 ;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t 53 ;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} 54 i+=a.substring(0,e.index), 55 a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], 56 "("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} 57 const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",N={ 58 begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", 59 illegal:"\\n",contains:[N]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", 60 contains:[N]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, 61 contains:[]},t);i.contains.push({scope:"doctag", 62 begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", 63 end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) 64 ;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) 65 ;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i 66 },M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({ 67 __proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:N,BINARY_NUMBER_MODE:{ 68 scope:"number",begin:v,relevance:0},BINARY_NUMBER_RE:v,COMMENT:O, 69 C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number", 70 begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{ 71 "on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ 72 n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f, 73 MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0}, 74 NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y, 75 PHRASAL_WORDS_MODE:{ 76 begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ 77 },QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, 78 end:/\/[gimuy]*/,contains:[N,{begin:/\[/,end:/\]/,relevance:0,contains:[N]}]}, 79 RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", 80 SHEBANG:(e={})=>{const n=/^#![ ]*\// 81 ;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, 82 end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, 83 TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E, 84 UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){ 85 "."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ 86 void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ 87 n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", 88 e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, 89 void 0===e.relevance&&(e.relevance=0))}function I(e,n){ 90 Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ 91 if(e.match){ 92 if(e.begin||e.end)throw Error("begin & end are not supported with match") 93 ;e.begin=e.match,delete e.match}}function B(e,n){ 94 void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return 95 ;if(e.starts)throw Error("beforeMatch cannot be used with starts") 96 ;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] 97 })),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ 98 relevance:0,contains:[Object.assign(t,{endsParent:!0})] 99 },e.relevance=0,delete t.beforeMatch 100 },F=["of","and","for","in","not","or","if","then","parent","list","value"] 101 ;function z(e,n,t="keyword"){const a=Object.create(null) 102 ;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ 103 Object.assign(a,z(e[t],n,t))})),a;function i(e,t){ 104 n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") 105 ;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ 106 return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const U={},P=e=>{ 107 console.error(e)},K=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{ 108 U[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),U[`${e}/${n}`]=!0) 109 },H=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={} 110 ;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) 111 ;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function Z(e){(e=>{ 112 e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, 113 delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ 114 _wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope 115 }),(e=>{if(Array.isArray(e.begin)){ 116 if(e.skip||e.excludeBegin||e.returnBegin)throw P("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), 117 H 118 ;if("object"!=typeof e.beginScope||null===e.beginScope)throw P("beginScope must be object"), 119 H;G(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ 120 if(Array.isArray(e.end)){ 121 if(e.skip||e.excludeEnd||e.returnEnd)throw P("skip, excludeEnd, returnEnd not compatible with endScope: {}"), 122 H 123 ;if("object"!=typeof e.endScope||null===e.endScope)throw P("endScope must be object"), 124 H;G(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function W(e){ 125 function n(n,t){ 126 return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) 127 }class t{constructor(){ 128 this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} 129 addRule(e,n){ 130 n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), 131 this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) 132 ;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" 133 }),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex 134 ;const n=this.matcherRe.exec(e);if(!n)return null 135 ;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] 136 ;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ 137 this.rules=[],this.multiRegexes=[], 138 this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ 139 if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t 140 ;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), 141 n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ 142 return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ 143 this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ 144 const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex 145 ;let t=n.exec(e) 146 ;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ 147 const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} 148 return t&&(this.regexIndex+=t.position+1, 149 this.regexIndex===this.count&&this.considerAll()),t}} 150 if(e.compilerExtensions||(e.compilerExtensions=[]), 151 e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") 152 ;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r 153 ;if(r.isCompiled)return o 154 ;[R,L,Z,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), 155 r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null 156 ;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), 157 l=r.keywords.$pattern, 158 delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=z(r.keywords,e.case_insensitive)), 159 o.keywordPatternRe=n(l,!0), 160 s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), 161 r.end&&(o.endRe=n(o.end)), 162 o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), 163 r.illegal&&(o.illegalRe=n(r.illegal)), 164 r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ 165 variants:null},n)))),e.cachedVariants?e.cachedVariants:Q(e)?a(e,{ 166 starts:e.starts?a(e.starts):null 167 }):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) 168 })),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i 169 ;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" 170 }))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" 171 }),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function Q(e){ 172 return!!e&&(e.endsWithParent||Q(e.starts))}class X extends Error{ 173 constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} 174 const V=t,J=a,Y=Symbol("nomatch"),ee=t=>{ 175 const a=Object.create(null),i=Object.create(null),r=[];let s=!0 176 ;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ 177 disableAutodetect:!0,name:"Plain text",contains:[]};let p={ 178 ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, 179 languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", 180 cssSelector:"pre code",languages:null,__emitter:l};function _(e){ 181 return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" 182 ;"object"==typeof n?(a=e, 183 t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."), 184 q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), 185 i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r) 186 ;const s=r.result?r.result:f(r.language,r.code,t) 187 ;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){ 188 const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S) 189 ;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t="" 190 ;for(;n;){t+=S.substring(e,n.index) 191 ;const i=v.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){ 192 const[e,a]=r 193 ;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ 194 const t=v.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] 195 ;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a 196 ;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{ 197 if(""===S)return;let e=null;if("string"==typeof O.subLanguage){ 198 if(!a[O.subLanguage])return void A.addText(S) 199 ;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top 200 }else e=E(S,O.subLanguage.length?O.subLanguage:null) 201 ;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language) 202 })():c(),S=""}function g(e,n){ 203 ""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1 204 ;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} 205 const a=v.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}} 206 function b(e,n){ 207 return e.scope&&"string"==typeof e.scope&&A.openNode(v.classNameAliases[e.scope]||e.scope), 208 e.beginScope&&(e.beginScope._wrap?(g(S,v.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), 209 S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{ 210 value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) 211 ;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) 212 ;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ 213 for(;e.endsParent&&e.parent;)e=e.parent;return e}} 214 if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ 215 return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){ 216 const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return Y;const r=O 217 ;O.endScope&&O.endScope._wrap?(d(), 218 g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(), 219 u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n), 220 d(),r.excludeEnd&&(S=n));do{ 221 O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent 222 }while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} 223 let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0 224 ;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ 225 if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) 226 ;throw n.languageName=e,n.badRule=y.rule,n}return 1} 227 if(y=r,"begin"===r.type)return(e=>{ 228 const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] 229 ;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) 230 ;return a.skip?S+=t:(a.excludeBegin&&(S+=t), 231 d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r) 232 ;if("illegal"===r.type&&!i){ 233 const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"<unnamed>")+'"') 234 ;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==Y)return e} 235 if("illegal"===r.type&&""===o)return S+="\n",1 236 ;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") 237 ;return S+=o,o.length}const v=N(e) 238 ;if(!v)throw P(o.replace("{}",e)),Error('Unknown language: "'+e+'"') 239 ;const k=W(v);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[] 240 ;for(let n=O;n!==v;n=n.parent)n.scope&&e.unshift(n.scope) 241 ;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{ 242 if(v.__emitTokens)v.__emitTokens(t,A);else{for(O.matcher.considerAll();;){ 243 R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T 244 ;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e) 245 ;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e, 246 value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){ 247 if(n.message&&n.message.includes("Illegal"))return{language:e,value:V(t), 248 illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, 249 context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{ 250 language:e,value:V(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O} 251 ;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ 252 const n={value:V(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} 253 ;return n._emitter.addText(e),n})(e),i=n.filter(N).filter(x).map((n=>f(n,e,!1))) 254 ;i.unshift(t);const r=i.sort(((e,n)=>{ 255 if(e.relevance!==n.relevance)return n.relevance-e.relevance 256 ;if(e.language&&n.language){if(N(e.language).supersetOf===n.language)return 1 257 ;if(N(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s 258 ;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ 259 let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" 260 ;const t=p.languageDetectRe.exec(n);if(t){const n=N(t[1]) 261 ;return n||(K(o.replace("{}",t[1])), 262 K("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} 263 return n.split(/\s+/).find((e=>_(e)||N(e)))})(e);if(_(t))return 264 ;if(O("before:highlightElement",{el:e,language:t 265 }),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) 266 ;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), 267 console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), 268 console.warn("The element with unescaped HTML:"), 269 console.warn(e)),p.throwUnescapedHTML))throw new X("One of your code blocks includes unescaped HTML.",e.innerHTML) 270 ;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) 271 ;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t 272 ;e.classList.add("hljs"),e.classList.add("language-"+a) 273 })(e,t,r.language),e.result={language:r.language,re:r.relevance, 274 relevance:r.relevance},r.secondBest&&(e.secondBest={ 275 language:r.secondBest.language,relevance:r.secondBest.relevance 276 }),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function v(){ 277 if("loading"===document.readyState)return w||window.addEventListener("DOMContentLoaded",(()=>{ 278 v()}),!1),void(w=!0);document.querySelectorAll(p.cssSelector).forEach(y)} 279 function N(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} 280 function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ 281 i[e.toLowerCase()]=n}))}function x(e){const n=N(e) 282 ;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{ 283 e[t]&&e[t](n)}))}Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:v, 284 highlightElement:y, 285 highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"), 286 q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=J(p,e)}, 287 initHighlighting:()=>{ 288 v(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, 289 initHighlightingOnLoad:()=>{ 290 v(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") 291 },registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ 292 if(P("Language definition for '{}' could not be registered.".replace("{}",e)), 293 !s)throw n;P(n),i=c} 294 i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{ 295 languageName:e})},unregisterLanguage:e=>{delete a[e] 296 ;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, 297 listLanguages:()=>Object.keys(a),getLanguage:N,registerAliases:k, 298 autoDetection:x,inherit:J,addPlugin:e=>{(e=>{ 299 e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ 300 e["before:highlightBlock"](Object.assign({block:n.el},n)) 301 }),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ 302 e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, 303 removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ 304 s=!1},t.safeMode=()=>{s=!0},t.versionString="11.11.1",t.regex={concat:b, 305 lookahead:d,either:m,optional:u,anyNumberOfTimes:g} 306 ;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t 307 },ne=ee({});ne.newInstance=()=>ee({});const te=e=>({IMPORTANT:{scope:"meta", 308 begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ 309 scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, 310 FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, 311 ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", 312 contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ 313 scope:"number", 314 begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", 315 relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} 316 }),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),oe=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),le=re.concat(se).sort().reverse() 317 ;var ce="[0-9](_*[0-9])*",de=`\\.(${ce})`,ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ue={ 318 className:"number",variants:[{ 319 begin:`(\\b(${ce})((${de})|\\.)?|(${de}))[eE][+-]?(${ce})[fFdD]?\\b`},{ 320 begin:`\\b(${ce})((${de})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ 321 begin:`(${de})[fFdD]?\\b`},{begin:`\\b(${ce})[fFdD]\\b`},{ 322 begin:`\\b0[xX]((${ge})\\.?|(${ge})?\\.(${ge}))[pP][+-]?(${ce})[fFdD]?\\b`},{ 323 begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ge})[lL]?\\b`},{ 324 begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], 325 relevance:0};function be(e,n,t){return-1===t?"":e.replace(n,(a=>be(e,n,t-1)))} 326 const me="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],_e=["true","false","null","undefined","NaN","Infinity"],he=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],fe=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ee=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],we=[].concat(Ee,he,fe) 327 ;function ve(e){const n=e.regex,t=me,a={begin:/<[A-Za-z0-9\\._:-]+/, 328 end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ 329 const t=e[0].length+e.index,a=e.input[t] 330 ;if("<"===a||","===a)return void n.ignoreMatch();let i 331 ;">"===a&&(((e,{after:n})=>{const t="</"+e[0].slice(1) 332 ;return-1!==e.input.indexOf(t,n)})(e,{after:t})||n.ignoreMatch()) 333 ;const r=e.input.substring(t) 334 ;((i=r.match(/^\s*=/))||(i=r.match(/^\s+extends\s+/))&&0===i.index)&&n.ignoreMatch() 335 }},i={$pattern:me,keyword:pe,literal:_e,built_in:we,"variable.language":ye 336 },r="[0-9](_?[0-9])*",s=`\\.(${r})`,o="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",l={ 337 className:"number",variants:[{ 338 begin:`(\\b(${o})((${s})|\\.)?|(${s}))[eE][+-]?(${r})\\b`},{ 339 begin:`\\b(${o})\\b((${s})\\b|\\.)?|(${s})\\b`},{ 340 begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{ 341 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{ 342 begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{ 343 begin:"\\b0[0-7]+n?\\b"}],relevance:0},c={className:"subst",begin:"\\$\\{", 344 end:"\\}",keywords:i,contains:[]},d={begin:".?html`",end:"",starts:{end:"`", 345 returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"xml"}},g={ 346 begin:".?css`",end:"",starts:{end:"`",returnEnd:!1, 347 contains:[e.BACKSLASH_ESCAPE,c],subLanguage:"css"}},u={begin:".?gql`",end:"", 348 starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,c], 349 subLanguage:"graphql"}},b={className:"string",begin:"`",end:"`", 350 contains:[e.BACKSLASH_ESCAPE,c]},m={className:"comment", 351 variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{ 352 begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag", 353 begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0, 354 excludeBegin:!0,relevance:0},{className:"variable",begin:t+"(?=\\s*(-)|$)", 355 endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}] 356 }),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE] 357 },p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,{match:/\$\d+/},l] 358 ;c.contains=p.concat({begin:/\{/,end:/\}/,keywords:i,contains:["self"].concat(p) 359 });const _=[].concat(m,c.contains),h=_.concat([{begin:/(\s*)\(/,end:/\)/, 360 keywords:i,contains:["self"].concat(_)}]),f={className:"params",begin:/(\s*)\(/, 361 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h},E={variants:[{ 362 match:[/class/,/\s+/,t,/\s+/,/extends/,/\s+/,n.concat(t,"(",n.concat(/\./,t),")*")], 363 scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{ 364 match:[/class/,/\s+/,t],scope:{1:"keyword",3:"title.class"}}]},y={relevance:0, 365 match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/), 366 className:"title.class",keywords:{_:[...he,...fe]}},w={variants:[{ 367 match:[/function/,/\s+/,t,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}], 368 className:{1:"keyword",3:"title.function"},label:"func.def",contains:[f], 369 illegal:/%/},v={ 370 match:n.concat(/\b/,(N=[...Ee,"super","import"].map((e=>e+"\\s*\\(")), 371 n.concat("(?!",N.join("|"),")")),t,n.lookahead(/\s*\(/)), 372 className:"title.function",relevance:0};var N;const k={ 373 begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t, 374 excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={ 375 match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"}, 376 contains:[{begin:/\(\)/},f] 377 },O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={ 378 match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], 379 keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} 380 ;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ 381 PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, 382 contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ 383 label:"use_strict",className:"meta",relevance:10, 384 begin:/^\s*['"]use (strict|asm)['"]/ 385 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ 386 scope:"attr",match:t+n.lookahead(":"),relevance:0},M,{ 387 begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", 388 keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ 389 className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ 390 className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ 391 className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, 392 excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0 393 },{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{ 394 match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, 395 "on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ 396 begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{ 397 beginKeywords:"while if switch catch for"},{ 398 begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", 399 returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, 400 className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t, 401 relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, 402 contains:[f]},v,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, 403 className:"variable.constant"},E,x,{match:/\$[(.]/}]}} 404 const Ne=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ke=["Protocol","Type"].map(Ne),xe=["init","self"].map(Ne),Oe=["Any","Self"],Me=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Ae=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ce=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Te=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Re=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),De=m(Re,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Ie=b(Re,De,"*"),Le=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Be=m(Le,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),$e=b(Le,Be,"*"),Fe=b(/[A-Z]/,Be,"*"),ze=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,$e,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],je=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] 405 ;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ 406 begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} 407 ;Object.assign(t,{className:"variable",variants:[{ 408 begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ 409 className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] 410 },r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={ 411 begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, 412 end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, 413 contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/, 414 end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] 415 },c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 416 }),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, 417 contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ 418 name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, 419 keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"], 420 literal:["true","false"], 421 built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] 422 },contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ 423 className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{ 424 const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] 425 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ 426 className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ 427 match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ 428 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 429 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 430 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 431 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ 432 className:"number",variants:[{match:/\b(0b[01']+)/},{ 433 match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/ 434 },{ 435 match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/ 436 },{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0 437 },c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 438 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include" 439 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ 440 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ 441 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 442 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ 443 keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], 444 type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"], 445 literal:"true false NULL", 446 built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" 447 },b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ 448 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 449 keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, 450 contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ 451 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 452 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ 453 begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], 454 relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, 455 keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, 456 end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] 457 }]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, 458 disableAutodetect:!0,illegal:"</",contains:[].concat(m,p,b,[c,{ 459 begin:e.IDENT_RE+"::",keywords:u},{className:"class", 460 beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{ 461 beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, 462 strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ 463 contains:[{begin:/\\\n/}] 464 }),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ 465 className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ 466 begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ 467 begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", 468 end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ 469 begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ 470 className:"number",variants:[{ 471 begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)" 472 },{ 473 begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)" 474 }],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ 475 keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" 476 },contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ 477 className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ 478 className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 479 },g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ 480 type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], 481 keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], 482 literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], 483 _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] 484 },b={className:"function.dispatch",relevance:0,keywords:{ 485 _hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] 486 }, 487 begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) 488 },m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ 489 begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], 490 keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, 491 contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", 492 begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, 493 keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ 494 begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ 495 begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ 496 className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, 497 contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, 498 relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] 499 },s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", 500 aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"</", 501 classNameAliases:{"function.dispatch":"built_in"}, 502 contains:[].concat(p,_,b,m,[c,{ 503 begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)", 504 end:">",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ 505 match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], 506 className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ 507 keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]), 508 built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], 509 literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ 510 begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ 511 begin:"\\b(0b[01']+)"},{ 512 begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ 513 begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" 514 }],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] 515 },r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, 516 keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, 517 end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ 518 },e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ 519 begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, 520 contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) 521 ;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], 522 o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ 523 illegal:/\n/})];const g={variants:[{className:"string", 524 begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1 525 },c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">", 526 contains:[{beginKeywords:"in out"},t] 527 },b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ 528 begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], 529 keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, 530 contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ 531 begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}] 532 }),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", 533 end:"$",keywords:{ 534 keyword:"if else elif endif define undef warning error line region endregion pragma checksum" 535 }},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, 536 illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" 537 },t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", 538 relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 539 contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 540 beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, 541 contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", 542 begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ 543 className:"string",begin:/"/,end:/"/}]},{ 544 beginKeywords:"new return throw await else",relevance:0},{className:"function", 545 begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 546 end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ 547 beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", 548 relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, 549 contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", 550 begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, 551 contains:[g,a,e.C_BLOCK_COMMENT_MODE] 552 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ 553 const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ 554 name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ 555 keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, 556 contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ 557 },t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 558 },{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 559 },t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ 560 begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}] 561 },t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{ 562 begin:/:/,end:/[;}{]/, 563 contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ 564 begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" 565 },contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, 566 excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", 567 relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ 568 },{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ 569 $pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{ 570 begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ 571 className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{ 572 const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ 573 className:"meta",relevance:10, 574 match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) 575 },{className:"comment",variants:[{ 576 begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), 577 end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ 578 className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, 579 end:/$/}]}},grmr_go:e=>{const n={ 580 keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], 581 type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], 582 literal:["true","false","iota","nil"], 583 built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] 584 };return{name:"Go",aliases:["golang"],keywords:n,illegal:"</", 585 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string", 586 variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{ 587 className:"number",variants:[{ 588 match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0 589 },{ 590 match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/, 591 relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{ 592 match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{ 593 match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{ 594 begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)", 595 excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/, 596 endsParent:!0,keywords:n,illegal:/["']/}]}]}},grmr_graphql:e=>{const n=e.regex 597 ;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1, 598 keywords:{ 599 keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], 600 literal:["true","false","null"]}, 601 contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ 602 scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", 603 begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, 604 end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ 605 scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), 606 relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ 607 className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ 608 begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, 609 end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ 610 begin:/\$\{(.*?)\}/}]},r={className:"literal", 611 begin:/\bon|off|true|false|yes|no\b/},s={className:"string", 612 contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ 613 begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] 614 },o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 615 },l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ 616 name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, 617 contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ 618 begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), 619 className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ 620 const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+be("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ 621 keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"], 622 literal:["false","true","null"], 623 type:["char","boolean","long","float","int","byte","short","double"], 624 built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ 625 begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, 626 end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} 627 ;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, 628 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, 629 relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ 630 begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 631 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, 632 className:"string",contains:[e.BACKSLASH_ESCAPE] 633 },e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ 634 match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ 635 1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ 636 begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", 637 3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", 638 3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ 639 beginKeywords:"new throw return else",relevance:0},{ 640 begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ 641 2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, 642 end:/\)/,keywords:i,relevance:0, 643 contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ue,e.C_BLOCK_COMMENT_MODE] 644 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ue,r]}},grmr_javascript:ve, 645 grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", 646 beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{ 647 literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, 648 relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 649 },e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], 650 illegal:"\\S"}},grmr_kotlin:e=>{const n={ 651 keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", 652 built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", 653 literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" 654 },a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ 655 className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", 656 variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", 657 illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, 658 contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ 659 className:"meta", 660 begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" 661 },o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, 662 end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] 663 },l=ue,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ 664 variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, 665 contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], 666 {name:"Kotlin",aliases:["kt","kts"],keywords:n, 667 contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", 668 begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", 669 begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", 670 begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", 671 returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ 672 begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, 673 contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/, 674 keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, 675 endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, 676 endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 677 },e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ 678 begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ 679 3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, 680 illegal:"extends implements",contains:[{ 681 beginKeywords:"public protected internal private constructor" 682 },e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0, 683 excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, 684 excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", 685 end:"$",illegal:"\n"},l]}},grmr_less:e=>{ 686 const n=te(e),t=le,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ 687 className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, 688 relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", 689 attribute:ie.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, 690 relevance:0} 691 ;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ 692 begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", 693 excludeEnd:!0} 694 },n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ 695 className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 696 },n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ 697 begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, 698 contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", 699 returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ 700 },n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b", 701 end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] 702 },m={className:"keyword", 703 begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", 704 starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ 705 className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a 706 }],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ 707 begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, 708 returnEnd:!0,illegal:"[<='$\"]",relevance:0, 709 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ 710 begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag" 711 },n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ 712 className:"selector-pseudo",begin:":("+re.join("|")+")"},{ 713 className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/, 714 end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ 715 begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} 716 ;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), 717 {name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, 718 grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] 719 },i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 720 })];return{name:"Lua",aliases:["pluto"],keywords:{ 721 $pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil", 722 keyword:"and break do else elseif end for goto if in local not or repeat return then until while", 723 built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" 724 },contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", 725 contains:[e.inherit(e.TITLE_MODE,{ 726 begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", 727 begin:"\\(",endsWithParent:!0,contains:i}].concat(i) 728 },e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", 729 begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ 730 className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", 731 contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string", 732 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},a={className:"variable", 733 begin:/\$\([\w-]+\s/,end:/\)/,keywords:{ 734 built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value" 735 },contains:[n,t]},i={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},r={ 736 className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{ 737 name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/, 738 keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath" 739 },contains:[e.HASH_COMMENT_MODE,n,t,a,i,{className:"meta",begin:/^\.PHONY:/, 740 end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},r]}},grmr_markdown:e=>{ 741 const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={ 742 variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ 743 begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, 744 relevance:2},{ 745 begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), 746 relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ 747 begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ 748 },{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, 749 returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", 750 excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", 751 end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], 752 variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] 753 },i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ 754 begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] 755 }),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) 756 ;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) 757 })),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ 758 className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ 759 begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", 760 contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", 761 end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, 762 end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ 763 begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ 764 begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", 765 contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ 766 begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ 767 className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ 768 className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", 769 match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}, 770 grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, 771 keyword:["@interface","@class","@protocol","@implementation"]};return{ 772 name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], 773 keywords:{"variable.language":["this","super"],$pattern:n, 774 keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], 775 literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], 776 built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], 777 type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] 778 },illegal:"</",contains:[{className:"built_in", 779 begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+" 780 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{ 781 className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n", 782 contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/, 783 keywords:{ 784 keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include" 785 },contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{ 786 className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n" 787 },e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", 788 begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, 789 contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, 790 relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ 791 $pattern:/[\w.]+/, 792 keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" 793 },i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, 794 end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable", 795 variants:[{begin:/\$\d/},{ 796 begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") 797 },{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={ 798 className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{ 799 match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{ 800 match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{ 801 match:/\b0b[0-1][0-1_]*\b/}],relevance:0 802 },c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{ 803 const r="\\1"===i?i:n.concat(i,a) 804 ;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) 805 },u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ 806 endsWithParent:!0}),r,{className:"string",contains:c,variants:[{ 807 begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", 808 end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ 809 begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", 810 relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", 811 contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", 812 contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ 813 begin:"-?\\w+\\s*=>",relevance:0}]},l,{ 814 begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", 815 keywords:"split return print reverse grep",relevance:0, 816 contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ 817 begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{ 818 begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{ 819 className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ 820 begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0 821 }),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{ 822 begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method", 823 end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s] 824 },{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5, 825 contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$", 826 end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$", 827 className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl", 828 aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{ 829 const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r=n.concat(/[A-Z]+/,t),s={ 830 scope:"variable",match:"\\$+"+a},o={scope:"subst",variants:[{begin:/\$\w+/},{ 831 begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null 832 }),c="[ \t\n]",d={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ 833 illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{ 834 begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, 835 contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,n)=>{ 836 n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ 837 n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ 838 begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},g={scope:"number",variants:[{ 839 begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ 840 begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ 841 begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" 842 }],relevance:0 843 },u=["false","null","true"],b=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],m=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],p={ 844 keyword:b,literal:(e=>{const n=[];return e.forEach((e=>{ 845 n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) 846 })),n})(u),built_in:m},_=e=>e.map((e=>e.replace(/\|\d+$/,""))),h={variants:[{ 847 match:[/new/,n.concat(c,"+"),n.concat("(?!",_(m).join("\\b|"),"\\b)"),i],scope:{ 848 1:"keyword",4:"title.class"}}]},f=n.concat(a,"\\b(?!\\()"),E={variants:[{ 849 match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{2:"variable.constant" 850 }},{match:[/::/,/class/],scope:{2:"variable.language"}},{ 851 match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),f],scope:{1:"title.class", 852 3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], 853 scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", 854 3:"variable.language"}}]},y={scope:"attr", 855 match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},w={relevance:0, 856 begin:/\(/,end:/\)/,keywords:p,contains:[y,s,E,e.C_BLOCK_COMMENT_MODE,d,g,h] 857 },v={relevance:0, 858 match:[/\b/,n.concat("(?!fn\\b|function\\b|",_(b).join("\\b|"),"|",_(m).join("\\b|"),"\\b)"),a,n.concat(c,"*"),n.lookahead(/(?=\()/)], 859 scope:{3:"title.function.invoke"},contains:[w]};w.contains.push(v) 860 ;const N=[y,E,e.C_BLOCK_COMMENT_MODE,d,g,h],k={ 861 begin:n.concat(/#\[\s*\\?/,n.either(i,r)),beginScope:"meta",end:/]/, 862 endScope:"meta",keywords:{literal:u,keyword:["new","array"]},contains:[{ 863 begin:/\[/,end:/]/,keywords:{literal:u,keyword:["new","array"]}, 864 contains:["self",...N]},...N,{scope:"meta",variants:[{match:i},{match:r}]}]} 865 ;return{case_insensitive:!1,keywords:p, 866 contains:[k,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{ 867 contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, 868 keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, 869 contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ 870 begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ 871 begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},s,v,E,{ 872 match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},h,{ 873 scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, 874 excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" 875 },e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", 876 begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:p, 877 contains:["self",k,s,E,e.C_BLOCK_COMMENT_MODE,d,g]}]},{scope:"class",variants:[{ 878 beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", 879 illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ 880 beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ 881 beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, 882 contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ 883 beginKeywords:"use",relevance:0,end:";",contains:[{ 884 match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},d,g]} 885 },grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ 886 begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", 887 end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 888 },e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, 889 skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, 890 contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", 891 aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ 892 const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ 893 $pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, 894 built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], 895 literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], 896 type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] 897 },r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, 898 end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ 899 className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ 900 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, 901 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 902 begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, 903 contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ 904 begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, 905 contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, 906 end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, 907 relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ 908 begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, 909 end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, 910 contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, 911 contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] 912 },c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ 913 className:"number",relevance:0,variants:[{ 914 begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ 915 begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ 916 begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` 917 },{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` 918 }]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, 919 contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ 920 className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, 921 end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, 922 contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ 923 name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, 924 illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/ 925 },{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" 926 },l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword", 927 3:"title.function"},contains:[m]},{variants:[{ 928 match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], 929 scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ 930 className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, 931 grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", 932 starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ 933 begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ 934 const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) 935 ;return{name:"R",keywords:{$pattern:t, 936 keyword:"function if in break next repeat else for while", 937 literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", 938 built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" 939 },contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, 940 starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), 941 endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ 942 scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 943 }]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] 944 }),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], 945 variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ 946 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ 947 }),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ 948 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ 949 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ 950 }),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', 951 relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ 952 1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, 953 match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ 954 2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, 955 match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ 956 match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", 957 contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ 958 const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ 959 "variable.constant":["__FILE__","__LINE__","__ENCODING__"], 960 "variable.language":["self","super"], 961 keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], 962 built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], 963 literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ 964 begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] 965 }),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 966 }),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, 967 end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], 968 variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ 969 begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ 970 begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//, 971 end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ 972 begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ 973 begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ 974 begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ 975 begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ 976 begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), 977 contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, 978 contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", 979 relevance:0,variants:[{ 980 begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ 981 begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" 982 },{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ 983 begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ 984 begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ 985 className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, 986 keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ 987 match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", 988 4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ 989 2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ 990 1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, 991 className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ 992 match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ 993 begin:e.IDENT_RE+"::"},{className:"symbol", 994 begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", 995 begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", 996 begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ 997 className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0, 998 relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", 999 keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], 1000 illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ 1001 begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", 1002 end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) 1003 ;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} 1004 },{className:"meta.prompt", 1005 begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", 1006 starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", 1007 aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, 1008 contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, 1009 grmr_rust:e=>{ 1010 const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={ 1011 className:"title.function.invoke",relevance:0, 1012 begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/)) 1013 },s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] 1014 ;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l, 1015 keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"], 1016 literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:"</", 1017 contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"] 1018 }),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{ 1019 className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string", 1020 variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{ 1021 scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{ 1022 className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s 1023 },{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{ 1024 begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{ 1025 begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{ 1026 className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string", 1027 begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{ 1028 begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword", 1029 4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword", 1030 3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword", 1031 3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a], 1032 className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{ 1033 keyword:"Self",built_in:o,type:l}},{className:"punctuation",begin:"->"},r]}}, 1034 grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable", 1035 begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", 1036 case_insensitive:!0,illegal:"[=/|']", 1037 contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ 1038 className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ 1039 className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 1040 },n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", 1041 begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo", 1042 begin:":("+a.join("|")+")"},{className:"selector-pseudo", 1043 begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, 1044 contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", 1045 begin:"\\b("+oe.join("|")+")\\b"},{ 1046 begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" 1047 },{begin:/:/,end:/[;}{]/,relevance:0, 1048 contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] 1049 },{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ 1050 begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, 1051 keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i, 1052 className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" 1053 },r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] 1054 },n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", 1055 aliases:["console","shellsession"],contains:[{className:"meta.prompt", 1056 begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, 1057 subLanguage:"bash"}}]}),grmr_sql:e=>{ 1058 const n=e.regex,t=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=a,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!a.includes(e))),s={ 1059 match:n.concat(/\b/,n.either(...i),/\s*\(/),relevance:0,keywords:{built_in:i}} 1060 ;function o(e){ 1061 return n.concat(/\b/,n.either(...e.map((e=>e.replace(/\s+/,"\\s+")))),/\b/)} 1062 const l={scope:"keyword", 1063 match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]), 1064 relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ 1065 $pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t 1066 ;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) 1067 })(r,{when:e=>e.length<3}),literal:["true","false","unknown"], 1068 type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"], 1069 built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] 1070 },contains:[{scope:"type", 1071 match:o(["double precision","large object","with timezone","without timezone"]) 1072 },l,s,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{ 1073 begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{ 1074 match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{scope:"operator", 1075 match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}, 1076 grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{ 1077 contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,m(...ke,...xe)], 1078 className:{2:"keyword"}},r={match:b(/\./,m(...Me)),relevance:0 1079 },s=Me.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ 1080 className:"keyword", 1081 match:m(...Me.filter((e=>"string"!=typeof e)).concat(Oe).map(Ne),...xe)}]},l={ 1082 $pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Ce),literal:Ae},c=[i,r,o],g=[{ 1083 match:b(/\./,m(...Te)),relevance:0},{className:"built_in", 1084 match:b(/\b/,m(...Te),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ 1085 className:"operator",relevance:0,variants:[{match:Ie},{match:`\\.(\\.|${De})+`}] 1086 }],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, 1087 variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ 1088 match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ 1089 },{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ 1090 match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] 1091 }),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) 1092 }),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ 1093 }),v=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)] 1094 }),N=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={ 1095 className:"string", 1096 variants:[v(),v("#"),v("##"),v("###"),N(),N("#"),N("##"),N("###")] 1097 },x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0, 1098 contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//, 1099 contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t, 1100 contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={ 1101 scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,$e,/`/) 1102 },C=[S,{className:"variable",match:/\$\d+/},{className:"variable", 1103 match:`\\$${Be}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{ 1104 contains:[{begin:/\(/,end:/\)/,keywords:je,contains:[...p,f,k]}]}},{ 1105 scope:"keyword",match:b(/@/,m(...ze),d(m(/\(/,/\s+/)))},{scope:"meta", 1106 match:b(/@/,$e)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type", 1107 match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Be,"+") 1108 },{className:"type",match:Fe,relevance:0},{match:/[?!]+/,relevance:0},{ 1109 match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(Fe)),relevance:0}]},D={ 1110 begin:/</,end:/>/,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D) 1111 ;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ 1112 match:b($e,/\s*:/),keywords:"_|0",relevance:0 1113 },...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin:/</,end:/>/, 1114 keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l, 1115 contains:[{begin:m(d(b($e,/\s*:/)),d(b($e,/\s+/,$e,/\s*:/))),end:/:/, 1116 relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params", 1117 match:$e}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={ 1118 match:[/(func|macro)/,/\s+/,m(S.match,$e,Ie)],className:{1:"keyword", 1119 3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={ 1120 match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, 1121 contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Ie],className:{ 1122 1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,Fe],className:{ 1123 1:"keyword",3:"title"},contains:[R],keywords:[...Se,...Ae],end:/}/},U={ 1124 begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,$e,/\s*/], 1125 beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/, 1126 end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:Fe},...c], 1127 relevance:0}]};for(const e of k.variants){ 1128 const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l 1129 ;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/, 1130 contains:["self",...t]}]}return{name:"Swift",keywords:l,contains:[...a,$,F,{ 1131 match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{ 1132 1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/], 1133 scope:{1:"keyword",3:"keyword"}},U,z,j,{beginKeywords:"import",end:/$/, 1134 contains:[...a],relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}}, 1135 grmr_typescript:e=>{ 1136 const n=e.regex,t=ve(e),a=me,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={ 1137 begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} 1138 },s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ 1139 keyword:"interface extends",built_in:i},contains:[t.exports.CLASS_REFERENCE] 1140 },o={$pattern:me, 1141 keyword:pe.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), 1142 literal:_e,built_in:we.concat(i),"variable.language":ye},l={className:"meta", 1143 begin:"@"+a},c=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) 1144 ;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} 1145 ;Object.assign(t.keywords,o),t.exports.PARAMS_CONTAINS.push(l) 1146 ;const d=t.contains.find((e=>"attr"===e.scope)),g=Object.assign({},d,{ 1147 match:n.concat(a,n.lookahead(/\s*\?:/))}) 1148 ;return t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,d,g]), 1149 t.contains=t.contains.concat([l,r,s,g]), 1150 c(t,"shebang",e.SHEBANG()),c(t,"use_strict",{className:"meta",relevance:10, 1151 begin:/^\s*['"]use strict['"]/ 1152 }),t.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(t,{ 1153 name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t},grmr_vbnet:e=>{ 1154 const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ 1155 className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ 1156 begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ 1157 begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] 1158 },o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] 1159 }),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) 1160 ;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, 1161 classNameAliases:{label:"symbol"},keywords:{ 1162 keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", 1163 built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", 1164 type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", 1165 literal:"true false nothing"}, 1166 illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ 1167 className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, 1168 end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, 1169 variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ 1170 },{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ 1171 begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ 1172 className:"label",begin:/^\w+:/},o,l,{className:"meta", 1173 begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, 1174 end:/$/,keywords:{ 1175 keyword:"const disable else elseif enable end externalsource if region then"}, 1176 contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) 1177 ;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, 1178 keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] 1179 },contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], 1180 className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ 1181 match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ 1182 begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", 1183 3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, 1184 className:"type"},{className:"keyword", 1185 match:/\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))\b/ 1186 },{className:"number",relevance:0, 1187 match:/[+-]?\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/ 1188 }]}},grmr_xml:e=>{ 1189 const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ 1190 className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, 1191 contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] 1192 },r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ 1193 className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ 1194 endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr", 1195 begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{ 1196 className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{ 1197 begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{ 1198 name:"HTML, XML", 1199 aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], 1200 case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/, 1201 end:/>/,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ 1202 className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,r,o,s]}]}] 1203 },e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/, 1204 relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, 1205 relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", 1206 begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ 1207 end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", 1208 begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ 1209 end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ 1210 className:"tag",begin:/<>|<\/>/},{className:"tag", 1211 begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))), 1212 end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ 1213 className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ 1214 className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} 1215 },grmr_yaml:e=>{ 1216 const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ 1217 className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}], 1218 contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{ 1219 begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{variants:[{ 1220 begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{ 1221 begin:/[^\s,{}[\]]+/}]}),r={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n, 1222 relevance:0},s={begin:/\{/,end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={ 1223 begin:"\\[",end:"\\]",contains:[r],illegal:"\\n",relevance:0},l=[{ 1224 className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{ 1225 begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{ 1226 begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta", 1227 begin:"^---\\s*$",relevance:10},{className:"string", 1228 begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ 1229 begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, 1230 relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", 1231 begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t 1232 },{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", 1233 begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", 1234 relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ 1235 className:"number", 1236 begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" 1237 },{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,{ 1238 className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/, 1239 scope:"char.escape",relevance:0}]},a],c=[...l] 1240 ;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, 1241 aliases:["yml"],contains:l}}});const Pe=ne;for(const e of Object.keys(Ue)){ 1242 const n=e.replace("grmr_","").replace("_","-");Pe.registerLanguage(n,Ue[e])} 1243 return Pe}() 1244 ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); -
ai-tool-center/trunk/public/partials/aitoce-public-nimbot-display.php
r3311710 r3311867 68 68 <style> 69 69 .aitoce-popup-chat-box { 70 border-top-left-radius: 71 <?php echo esc_attr($header_radius); ?>px; 72 border-top-right-radius: 73 <?php echo esc_attr($header_radius); ?>px; 74 border-bottom-left-radius: 75 <?php echo esc_attr($header_radius); ?>px; 76 border-bottom-right-radius: 77 <?php echo esc_attr($header_radius); ?>px; 70 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 71 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 72 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 73 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 78 74 } 79 75 80 76 .aitoce-popup-chat-header { 81 color: 82 <?php echo esc_attr($header_text); ?> 83 ; 84 background-color: 85 <?php echo esc_attr($header_background); ?> 86 ; 87 border-top-left-radius: 88 <?php echo esc_attr($header_radius); ?>px; 89 border-top-right-radius: 90 <?php echo esc_attr($header_radius); ?>px; 77 color: <?php echo esc_attr($header_text); ?>; 78 background-color: <?php echo esc_attr($header_background); ?>; 79 border-top-left-radius: <?php echo esc_attr($header_radius); ?>px; 80 border-top-right-radius: <?php echo esc_attr($header_radius); ?>px; 91 81 } 92 82 93 83 .aitoce-popup-chat-input-area { 94 background-color: 95 <?php echo esc_attr($header_background); ?> 96 ; 97 border-bottom-left-radius: 98 <?php echo esc_attr($header_radius); ?>px; 99 border-bottom-right-radius: 100 <?php echo esc_attr($header_radius); ?>px; 84 background-color: <?php echo esc_attr($header_background); ?>; 85 border-bottom-left-radius: <?php echo esc_attr($header_radius); ?>px; 86 border-bottom-right-radius: <?php echo esc_attr($header_radius); ?>px; 101 87 } 102 88 103 89 .aitoce-popup-chat-messages { 104 height: 105 <?php echo esc_attr($message_height); ?>px; 106 max-height: 107 <?php echo esc_attr($message_height); ?>px; 108 background-color: 109 <?php echo esc_attr($message_background); ?> 110 ; 90 height: <?php echo esc_attr($message_height); ?>px; 91 max-height: <?php echo esc_attr($message_height); ?>px; 92 background-color: <?php echo esc_attr($message_background); ?>; 111 93 } 112 94 113 95 .aitoce-popup-chat-input { 114 color: 115 <?php echo esc_attr($input_text); ?> 116 ; 117 background-color: 118 <?php echo esc_attr($input_background); ?> 119 ; 120 border-radius: 121 <?php echo esc_attr($input_radius); ?>px; 96 color: <?php echo esc_attr($input_text); ?>; 97 background-color: <?php echo esc_attr($input_background); ?>; 98 border-radius: <?php echo esc_attr($input_radius); ?>px; 122 99 } 123 100 124 101 .aitoce-popup-user-message { 125 color: 126 <?php echo esc_attr($client_message_text); ?> 127 ; 128 background-color: 129 <?php echo esc_attr($client_message_background); ?> 130 ; 131 border-radius: 132 <?php echo esc_attr($client_message_radius); ?>px; 102 color: <?php echo esc_attr($client_message_text); ?>; 103 background-color: <?php echo esc_attr($client_message_background); ?>; 104 border-radius: <?php echo esc_attr($client_message_radius); ?>px; 133 105 } 134 106 135 107 .aitoce-popup-bot-message { 136 color: 137 <?php echo esc_attr($nimbot_reply_text); ?> 138 ; 139 background-color: 140 <?php echo esc_attr($nimbot_reply_background); ?> 141 ; 142 border-radius: 143 <?php echo esc_attr($nimbot_reply_radius); ?>px; 108 color: <?php echo esc_attr($nimbot_reply_text); ?>; 109 background-color: <?php echo esc_attr($nimbot_reply_background); ?>; 110 border-radius: <?php echo esc_attr($nimbot_reply_radius); ?>px; 144 111 } 145 112 146 113 .aitoce-popup-send-btn { 147 color: 148 <?php echo esc_attr($send_button_text); ?> 149 ; 150 background-color: 151 <?php echo esc_attr($send_button_background); ?> 152 ; 153 border-radius: 154 <?php echo esc_attr($send_button_radius); ?>px; 114 color: <?php echo esc_attr($send_button_text); ?>; 115 background-color: <?php echo esc_attr($send_button_background); ?>; 116 border-radius: <?php echo esc_attr($send_button_radius); ?>px; 155 117 } 156 118 157 119 .aitoce-popup-send-btn:hover { 158 color: 159 <?php echo esc_attr($send_button_text_hover); ?> 160 ; 161 background-color: 162 <?php echo esc_attr($send_button_background_hover); ?> 163 ; 120 color: <?php echo esc_attr($send_button_text_hover); ?>; 121 background-color: <?php echo esc_attr($send_button_background_hover); ?>; 164 122 } 165 123 </style> … … 179 137 <div id="aitoce-chat-input-area" class="aitoce-popup-chat-input-area"> 180 138 <textarea id="aitoce-popup-input" class="aitoce-popup-chat-input" rows="2" 181 placeholder="Type a message..." ></textarea>139 placeholder="Type a message..." aria-label="Popup Message Input"></textarea> 182 140 <div id="aitoce-popup-send-btn" class="aitoce-popup-send-btn">Send</div> 183 141 </div>
Note: See TracChangeset
for help on using the changeset viewer.