From f9321ff5b2655aed9a6b92e6bde2e8aa773f33a2 Mon Sep 17 00:00:00 2001 From: Carson Date: Mon, 12 May 2025 17:10:51 -0500 Subject: [PATCH 1/5] fix(Chat): ui.Chat() should never scroll a parent element of the chat container element --- js/chat/chat.ts | 14 ++- js/markdown-stream/markdown-stream.ts | 7 ++ shiny/www/py-shiny/chat/chat.js | 14 +-- shiny/www/py-shiny/chat/chat.js.map | 4 +- .../markdown-stream/markdown-stream.js | 96 +++++++++++++------ .../markdown-stream/markdown-stream.js.map | 8 +- 6 files changed, 95 insertions(+), 48 deletions(-) diff --git a/js/chat/chat.ts b/js/chat/chat.ts index 8446710e1..fc0323c0f 100644 --- a/js/chat/chat.ts +++ b/js/chat/chat.ts @@ -528,11 +528,13 @@ class ChatContainer extends LightElement { // ------- Register custom elements and shiny bindings --------- -customElements.define(CHAT_MESSAGE_TAG, ChatMessage); -customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage); -customElements.define(CHAT_MESSAGES_TAG, ChatMessages); -customElements.define(CHAT_INPUT_TAG, ChatInput); -customElements.define(CHAT_CONTAINER_TAG, ChatContainer); +if (!customElements.get(CHAT_MESSAGES_TAG)) { + customElements.define(CHAT_MESSAGE_TAG, ChatMessage); + customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage); + customElements.define(CHAT_MESSAGES_TAG, ChatMessages); + customElements.define(CHAT_INPUT_TAG, ChatInput); + customElements.define(CHAT_CONTAINER_TAG, ChatContainer); +} window.Shiny.addCustomMessageHandler( "shinyChatMessage", @@ -561,3 +563,5 @@ window.Shiny.addCustomMessageHandler( el.dispatchEvent(evt); } ); + +export { CHAT_CONTAINER_TAG }; diff --git a/js/markdown-stream/markdown-stream.ts b/js/markdown-stream/markdown-stream.ts index 2250631e0..fb03d26be 100644 --- a/js/markdown-stream/markdown-stream.ts +++ b/js/markdown-stream/markdown-stream.ts @@ -6,6 +6,8 @@ import ClipboardJS from "clipboard"; import hljs from "highlight.js/lib/common"; import { Renderer, parse } from "marked"; +import { CHAT_CONTAINER_TAG } from "../chat/chat"; + import { LightElement, createElement, @@ -282,6 +284,11 @@ class MarkdownElement extends LightElement { while (el) { if (el.scrollHeight > el.clientHeight) return el; el = el.parentElement; + if (el?.tagName === CHAT_CONTAINER_TAG) { + // Stop searching for scrollable parents if we reach . + // If the chat is scrollable, a scrollable element would've been found already. + break; + } } return null; } diff --git a/shiny/www/py-shiny/chat/chat.js b/shiny/www/py-shiny/chat/chat.js index 2f17d0ed0..e7ca12240 100644 --- a/shiny/www/py-shiny/chat/chat.js +++ b/shiny/www/py-shiny/chat/chat.js @@ -1,7 +1,7 @@ -var Ds=Object.create;var Ae=Object.defineProperty;var Tn=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf,Us=Object.prototype.hasOwnProperty;var ks=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var Hs=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Is(t))!Us.call(o,i)&&i!==e&&Ae(o,i,{get:()=>t[i],enumerable:!(s=Tn(t,i))||s.enumerable});return o};var Fs=(o,t,e)=>(e=o!=null?Ds(Ps(o)):{},Hs(t||!o||!o.__esModule?Ae(e,"default",{value:o,enumerable:!0}):e,o));var j=(o,t,e,s)=>{for(var i=s>1?void 0:s?Tn(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&Ae(t,e,i),i};var Bn=ks((Le,Re)=>{(function(o,t){typeof Le=="object"&&typeof Re<"u"?Re.exports=t():typeof define=="function"&&define.amd?define(t):(o=typeof globalThis<"u"?globalThis:o||self,o.DOMPurify=t())})(Le,function(){"use strict";let{entries:o,setPrototypeOf:t,isFrozen:e,getPrototypeOf:s,getOwnPropertyDescriptor:i}=Object,{freeze:r,seal:l,create:A}=Object,{apply:p,construct:y}=typeof Reflect<"u"&&Reflect;r||(r=function(u){return u}),l||(l=function(u){return u}),p||(p=function(u,_,g){return u.apply(_,g)}),y||(y=function(u,_){return new u(..._)});let T=U(Array.prototype.forEach),E=U(Array.prototype.pop),R=U(Array.prototype.push),P=U(String.prototype.toLowerCase),Y=U(String.prototype.toString),De=U(String.prototype.match),mt=U(String.prototype.replace),Kn=U(String.prototype.indexOf),Xn=U(String.prototype.trim),H=U(Object.prototype.hasOwnProperty),x=U(RegExp.prototype.test),gt=Zn(TypeError);function Ie(m){return typeof m=="number"&&isNaN(m)}function U(m){return function(u){for(var _=arguments.length,g=new Array(_>1?_-1:0),M=1;M<_;M++)g[M-1]=arguments[M];return p(m,u,g)}}function Zn(m){return function(){for(var u=arguments.length,_=new Array(u),g=0;g2&&arguments[2]!==void 0?arguments[2]:P;t&&t(m,null);let g=u.length;for(;g--;){let M=u[g];if(typeof M=="string"){let B=_(M);B!==M&&(e(u)||(u[g]=B),M=B)}m[M]=!0}return m}function Jn(m){for(let u=0;u/gm),ss=l(/\${[\w\W]*}/gm),is=l(/^data-[\-\w.\u00B7-\uFFFF]/),os=l(/^aria-[\-\w]+$/),Fe=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rs=l(/^(?:\w+script|data):/i),as=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ze=l(/^html$/i),ls=l(/^[a-z][.\w]*(-[.\w]+)+$/i);var Be=Object.freeze({__proto__:null,MUSTACHE_EXPR:es,ERB_EXPR:ns,TMPLIT_EXPR:ss,DATA_ATTR:is,ARIA_ATTR:os,IS_ALLOWED_URI:Fe,IS_SCRIPT_OR_DATA:rs,ATTR_WHITESPACE:as,DOCTYPE_NAME:ze,CUSTOM_ELEMENT:ls});let Q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},cs=function(){return typeof window>"u"?null:window},us=function(u,_){if(typeof u!="object"||typeof u.createPolicy!="function")return null;let g=null,M="data-tt-policy-suffix";_&&_.hasAttribute(M)&&(g=_.getAttribute(M));let B="dompurify"+(g?"#"+g:"");try{return u.createPolicy(B,{createHTML(ot){return ot},createScriptURL(ot){return ot}})}catch{return console.warn("TrustedTypes policy "+B+" could not be created."),null}};function Ge(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cs(),u=h=>Ge(h);if(u.version="3.1.4",u.removed=[],!m||!m.document||m.document.nodeType!==Q.document)return u.isSupported=!1,u;let{document:_}=m,g=_,M=g.currentScript,{DocumentFragment:B,HTMLTemplateElement:ot,Node:ie,Element:We,NodeFilter:_t,NamedNodeMap:ps=m.NamedNodeMap||m.MozNamedAttrMap,HTMLFormElement:ds,DOMParser:fs,trustedTypes:It}=m,Pt=We.prototype,ms=Ot(Pt,"cloneNode"),gs=Ot(Pt,"nextSibling"),_s=Ot(Pt,"childNodes"),Et=Ot(Pt,"parentNode");if(typeof ot=="function"){let h=_.createElement("template");h.content&&h.content.ownerDocument&&(_=h.content.ownerDocument)}let N,At="",{implementation:oe,createNodeIterator:Es,createDocumentFragment:As,getElementsByTagName:ys}=_,{importNode:Ts}=g,F={};u.isSupported=typeof o=="function"&&typeof Et=="function"&&oe&&oe.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:re,ERB_EXPR:ae,TMPLIT_EXPR:le,DATA_ATTR:vs,ARIA_ATTR:Ss,IS_SCRIPT_OR_DATA:bs,ATTR_WHITESPACE:je,CUSTOM_ELEMENT:Cs}=Be,{IS_ALLOWED_URI:Ve}=Be,b=null,qe=f({},[...Pe,...te,...ee,...ne,...Ue]),C=null,Ye=f({},[...ke,...se,...He,...Dt]),v=Object.seal(A(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),yt=null,ce=null,Ke=!0,ue=!0,Xe=!1,Ze=!0,rt=!1,he=!0,tt=!1,pe=!1,de=!1,at=!1,Ut=!1,kt=!1,Je=!0,Qe=!1,ws="user-content-",fe=!0,Tt=!1,lt={},ct=null,tn=f({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),en=null,nn=f({},["audio","video","img","source","image","track"]),me=null,sn=f({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ht="http://www.w3.org/1998/Math/MathML",Ft="http://www.w3.org/2000/svg",G="http://www.w3.org/1999/xhtml",ut=G,ge=!1,_e=null,$s=f({},[Ht,Ft,G],Y),vt=null,Ms=["application/xhtml+xml","text/html"],Ls="text/html",w=null,ht=null,on=255,Rs=_.createElement("form"),rn=function(n){return n instanceof RegExp||n instanceof Function},Ee=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ht&&ht===n)){if((!n||typeof n!="object")&&(n={}),n=J(n),vt=Ms.indexOf(n.PARSER_MEDIA_TYPE)===-1?Ls:n.PARSER_MEDIA_TYPE,w=vt==="application/xhtml+xml"?Y:P,b=H(n,"ALLOWED_TAGS")?f({},n.ALLOWED_TAGS,w):qe,C=H(n,"ALLOWED_ATTR")?f({},n.ALLOWED_ATTR,w):Ye,_e=H(n,"ALLOWED_NAMESPACES")?f({},n.ALLOWED_NAMESPACES,Y):$s,me=H(n,"ADD_URI_SAFE_ATTR")?f(J(sn),n.ADD_URI_SAFE_ATTR,w):sn,en=H(n,"ADD_DATA_URI_TAGS")?f(J(nn),n.ADD_DATA_URI_TAGS,w):nn,ct=H(n,"FORBID_CONTENTS")?f({},n.FORBID_CONTENTS,w):tn,yt=H(n,"FORBID_TAGS")?f({},n.FORBID_TAGS,w):{},ce=H(n,"FORBID_ATTR")?f({},n.FORBID_ATTR,w):{},lt=H(n,"USE_PROFILES")?n.USE_PROFILES:!1,Ke=n.ALLOW_ARIA_ATTR!==!1,ue=n.ALLOW_DATA_ATTR!==!1,Xe=n.ALLOW_UNKNOWN_PROTOCOLS||!1,Ze=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,rt=n.SAFE_FOR_TEMPLATES||!1,he=n.SAFE_FOR_XML!==!1,tt=n.WHOLE_DOCUMENT||!1,at=n.RETURN_DOM||!1,Ut=n.RETURN_DOM_FRAGMENT||!1,kt=n.RETURN_TRUSTED_TYPE||!1,de=n.FORCE_BODY||!1,Je=n.SANITIZE_DOM!==!1,Qe=n.SANITIZE_NAMED_PROPS||!1,fe=n.KEEP_CONTENT!==!1,Tt=n.IN_PLACE||!1,Ve=n.ALLOWED_URI_REGEXP||Fe,ut=n.NAMESPACE||G,v=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&rn(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(v.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&rn(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(v.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(v.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),rt&&(ue=!1),Ut&&(at=!0),lt&&(b=f({},Ue),C=[],lt.html===!0&&(f(b,Pe),f(C,ke)),lt.svg===!0&&(f(b,te),f(C,se),f(C,Dt)),lt.svgFilters===!0&&(f(b,ee),f(C,se),f(C,Dt)),lt.mathMl===!0&&(f(b,ne),f(C,He),f(C,Dt))),n.ADD_TAGS&&(b===qe&&(b=J(b)),f(b,n.ADD_TAGS,w)),n.ADD_ATTR&&(C===Ye&&(C=J(C)),f(C,n.ADD_ATTR,w)),n.ADD_URI_SAFE_ATTR&&f(me,n.ADD_URI_SAFE_ATTR,w),n.FORBID_CONTENTS&&(ct===tn&&(ct=J(ct)),f(ct,n.FORBID_CONTENTS,w)),fe&&(b["#text"]=!0),tt&&f(b,["html","head","body"]),b.table&&(f(b,["tbody"]),delete yt.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=n.TRUSTED_TYPES_POLICY,At=N.createHTML("")}else N===void 0&&(N=us(It,M)),N!==null&&typeof At=="string"&&(At=N.createHTML(""));r&&r(n),ht=n}},an=f({},["mi","mo","mn","ms","mtext"]),ln=f({},["foreignobject","annotation-xml"]),xs=f({},["title","style","font","a","script"]),cn=f({},[...te,...ee,...Qn]),un=f({},[...ne,...ts]),Ns=function(n){let a=Et(n);(!a||!a.tagName)&&(a={namespaceURI:ut,tagName:"template"});let c=P(n.tagName),d=P(a.tagName);return _e[n.namespaceURI]?n.namespaceURI===Ft?a.namespaceURI===G?c==="svg":a.namespaceURI===Ht?c==="svg"&&(d==="annotation-xml"||an[d]):!!cn[c]:n.namespaceURI===Ht?a.namespaceURI===G?c==="math":a.namespaceURI===Ft?c==="math"&&ln[d]:!!un[c]:n.namespaceURI===G?a.namespaceURI===Ft&&!ln[d]||a.namespaceURI===Ht&&!an[d]?!1:!un[c]&&(xs[c]||!cn[c]):!!(vt==="application/xhtml+xml"&&_e[n.namespaceURI]):!1},k=function(n){R(u.removed,{element:n});try{n.parentNode.removeChild(n)}catch{n.remove()}},zt=function(n,a){try{R(u.removed,{attribute:a.getAttributeNode(n),from:a})}catch{R(u.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is"&&!C[n])if(at||Ut)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},hn=function(n){let a=null,c=null;if(de)n=""+n;else{let $=De(n,/^[\r\n\t ]+/);c=$&&$[0]}vt==="application/xhtml+xml"&&ut===G&&(n=''+n+"");let d=N?N.createHTML(n):n;if(ut===G)try{a=new fs().parseFromString(d,vt)}catch{}if(!a||!a.documentElement){a=oe.createDocument(ut,"template",null);try{a.documentElement.innerHTML=ge?At:d}catch{}}let L=a.body||a.documentElement;return n&&c&&L.insertBefore(_.createTextNode(c),L.childNodes[0]||null),ut===G?ys.call(a,tt?"html":"body")[0]:tt?a.documentElement:L},pn=function(n){return Es.call(n.ownerDocument||n,n,_t.SHOW_ELEMENT|_t.SHOW_COMMENT|_t.SHOW_TEXT|_t.SHOW_PROCESSING_INSTRUCTION|_t.SHOW_CDATA_SECTION,null)},dn=function(n){return n instanceof ds&&(typeof n.__depth<"u"&&typeof n.__depth!="number"||typeof n.__removalCount<"u"&&typeof n.__removalCount!="number"||typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof ps)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},fn=function(n){return typeof ie=="function"&&n instanceof ie},W=function(n,a,c){F[n]&&T(F[n],d=>{d.call(u,a,c,ht)})},mn=function(n){let a=null;if(W("beforeSanitizeElements",n,null),dn(n))return k(n),!0;let c=w(n.nodeName);if(W("uponSanitizeElement",n,{tagName:c,allowedTags:b}),n.hasChildNodes()&&!fn(n.firstElementChild)&&x(/<[/\w]/g,n.innerHTML)&&x(/<[/\w]/g,n.textContent)||n.nodeType===Q.progressingInstruction||he&&n.nodeType===Q.comment&&x(/<[/\w]/g,n.data))return k(n),!0;if(!b[c]||yt[c]){if(!yt[c]&&_n(c)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c)))return!1;if(fe&&!ct[c]){let d=Et(n)||n.parentNode,L=_s(n)||n.childNodes;if(L&&d){let $=L.length;for(let D=$-1;D>=0;--D){let I=ms(L[D],!0);I.__removalCount=(n.__removalCount||0)+1,d.insertBefore(I,gs(n))}}}return k(n),!0}return n instanceof We&&!Ns(n)||(c==="noscript"||c==="noembed"||c==="noframes")&&x(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(rt&&n.nodeType===Q.text&&(a=n.textContent,T([re,ae,le],d=>{a=mt(a,d," ")}),n.textContent!==a&&(R(u.removed,{element:n.cloneNode()}),n.textContent=a)),W("afterSanitizeElements",n,null),!1)},gn=function(n,a,c){if(Je&&(a==="id"||a==="name")&&(c in _||c in Rs||c==="__depth"||c==="__removalCount"))return!1;if(!(ue&&!ce[a]&&x(vs,a))){if(!(Ke&&x(Ss,a))){if(!C[a]||ce[a]){if(!(_n(n)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,n)||v.tagNameCheck instanceof Function&&v.tagNameCheck(n))&&(v.attributeNameCheck instanceof RegExp&&x(v.attributeNameCheck,a)||v.attributeNameCheck instanceof Function&&v.attributeNameCheck(a))||a==="is"&&v.allowCustomizedBuiltInElements&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c))))return!1}else if(!me[a]){if(!x(Ve,mt(c,je,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Kn(c,"data:")===0&&en[n])){if(!(Xe&&!x(bs,mt(c,je,"")))){if(c)return!1}}}}}}return!0},_n=function(n){return n!=="annotation-xml"&&De(n,Cs)},En=function(n){W("beforeSanitizeAttributes",n,null);let{attributes:a}=n;if(!a)return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C},d=a.length;for(;d--;){let L=a[d],{name:$,namespaceURI:D,value:I}=L,St=w($),O=$==="value"?I:Xn(I);if(c.attrName=St,c.attrValue=O,c.keepAttr=!0,c.forceKeepAttr=void 0,W("uponSanitizeAttribute",n,c),O=c.attrValue,c.forceKeepAttr||(zt($,n),!c.keepAttr))continue;if(!Ze&&x(/\/>/i,O)){zt($,n);continue}if(he&&x(/((--!?|])>)|<\/(style|title)/i,O)){zt($,n);continue}rt&&T([re,ae,le],yn=>{O=mt(O,yn," ")});let An=w(n.nodeName);if(gn(An,St,O)){if(Qe&&(St==="id"||St==="name")&&(zt($,n),O=ws+O),N&&typeof It=="object"&&typeof It.getAttributeType=="function"&&!D)switch(It.getAttributeType(An,St)){case"TrustedHTML":{O=N.createHTML(O);break}case"TrustedScriptURL":{O=N.createScriptURL(O);break}}try{D?n.setAttributeNS(D,$,O):n.setAttribute($,O),dn(n)?k(n):E(u.removed)}catch{}}}W("afterSanitizeAttributes",n,null)},Os=function h(n){let a=null,c=pn(n);for(W("beforeSanitizeShadowDOM",n,null);a=c.nextNode();){if(W("uponSanitizeShadowNode",a,null),mn(a))continue;let d=Et(a);a.nodeType===Q.element&&(d&&d.__depth?a.__depth=(a.__removalCount||0)+d.__depth+1:a.__depth=1),(a.__depth>=on||a.__depth<0||Ie(a.__depth))&&k(a),a.content instanceof B&&(a.content.__depth=a.__depth,h(a.content)),En(a)}W("afterSanitizeShadowDOM",n,null)};return u.sanitize=function(h){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,d=null,L=null;if(ge=!h,ge&&(h=""),typeof h!="string"&&!fn(h))if(typeof h.toString=="function"){if(h=h.toString(),typeof h!="string")throw gt("dirty is not a string, aborting")}else throw gt("toString is not a function");if(!u.isSupported)return h;if(pe||Ee(n),u.removed=[],typeof h=="string"&&(Tt=!1),Tt){if(h.nodeName){let I=w(h.nodeName);if(!b[I]||yt[I])throw gt("root node is forbidden and cannot be sanitized in-place")}}else if(h instanceof ie)a=hn(""),c=a.ownerDocument.importNode(h,!0),c.nodeType===Q.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!at&&!rt&&!tt&&h.indexOf("<")===-1)return N&&kt?N.createHTML(h):h;if(a=hn(h),!a)return at?null:kt?At:""}a&&de&&k(a.firstChild);let $=pn(Tt?h:a);for(;d=$.nextNode();){if(mn(d))continue;let I=Et(d);d.nodeType===Q.element&&(I&&I.__depth?d.__depth=(d.__removalCount||0)+I.__depth+1:d.__depth=1),(d.__depth>=on||d.__depth<0||Ie(d.__depth))&&k(d),d.content instanceof B&&(d.content.__depth=d.__depth,Os(d.content)),En(d)}if(Tt)return h;if(at){if(Ut)for(L=As.call(a.ownerDocument);a.firstChild;)L.appendChild(a.firstChild);else L=a;return(C.shadowroot||C.shadowrootmode)&&(L=Ts.call(g,L,!0)),L}let D=tt?a.outerHTML:a.innerHTML;return tt&&b["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&x(ze,a.ownerDocument.doctype.name)&&(D=" -`+D),rt&&T([re,ae,le],I=>{D=mt(D,I," ")}),N&&kt?N.createHTML(D):D},u.setConfig=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ee(h),pe=!0},u.clearConfig=function(){ht=null,pe=!1},u.isValidAttribute=function(h,n,a){ht||Ee({});let c=w(h),d=w(n);return gn(c,d,a)},u.addHook=function(h,n){typeof n=="function"&&(F[h]=F[h]||[],R(F[h],n))},u.removeHook=function(h){if(F[h])return E(F[h])},u.removeHooks=function(h){F[h]&&(F[h]=[])},u.removeAllHooks=function(){F={}},u}var hs=Ge();return hs})});var Bt=globalThis,Wt=Bt.ShadowRoot&&(Bt.ShadyCSS===void 0||Bt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Sn=Symbol(),vn=new WeakMap,Gt=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Sn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=vn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&vn.set(e,t))}return t}toString(){return this.cssText}},bn=o=>new Gt(typeof o=="string"?o:o+"",void 0,Sn);var ye=(o,t)=>{if(Wt)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let s=document.createElement("style"),i=Bt.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,o.appendChild(s)}},jt=Wt?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return bn(e)})(o):o;var{is:zs,defineProperty:Bs,getOwnPropertyDescriptor:Gs,getOwnPropertyNames:Ws,getOwnPropertySymbols:js,getPrototypeOf:Vs}=Object,Vt=globalThis,Cn=Vt.trustedTypes,qs=Cn?Cn.emptyScript:"",Ys=Vt.reactiveElementPolyfillSupport,bt=(o,t)=>o,Ct={toAttribute(o,t){switch(t){case Boolean:o=o?qs:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},qt=(o,t)=>!zs(o,t),wn={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt};Symbol.metadata??=Symbol("metadata"),Vt.litPropertyMetadata??=new WeakMap;var V=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=wn){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&Bs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){let{get:i,set:r}=Gs(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get(){return i?.call(this)},set(l){let A=i?.call(this);r.call(this,l),this.requestUpdate(t,A,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??wn}static _$Ei(){if(this.hasOwnProperty(bt("elementProperties")))return;let t=Vs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(bt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(bt("properties"))){let e=this.properties,s=[...Ws(e),...js(e)];for(let i of s)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let i of s)e.unshift(jt(i))}else t!==void 0&&e.push(jt(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ye(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){let s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){let r=(s.converter?.toAttribute!==void 0?s.converter:Ct).toAttribute(e,s.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=s.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Ct;this._$Em=i,this[i]=l.fromAttribute(e,r.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??qt)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[i,r]of s)r.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.P(i,this[i],r)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach(e=>this._$EC(e,this[e])),this._$EU()}updated(t){}firstUpdated(t){}};V.elementStyles=[],V.shadowRootOptions={mode:"open"},V[bt("elementProperties")]=new Map,V[bt("finalized")]=new Map,Ys?.({ReactiveElement:V}),(Vt.reactiveElementVersions??=[]).push("2.0.4");var $e=globalThis,Yt=$e.trustedTypes,$n=Yt?Yt.createPolicy("lit-html",{createHTML:o=>o}):void 0,On="$lit$",K=`lit$${Math.random().toFixed(9).slice(2)}$`,Dn="?"+K,Ks=`<${Dn}>`,st=document,$t=()=>st.createComment(""),Mt=o=>o===null||typeof o!="object"&&typeof o!="function",In=Array.isArray,Xs=o=>In(o)||typeof o?.[Symbol.iterator]=="function",Te=`[ -\f\r]`,wt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Mn=/-->/g,Ln=/>/g,et=RegExp(`>|${Te}(?:([^\\s"'>=/]+)(${Te}*=${Te}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Rn=/'/g,xn=/"/g,Pn=/^(?:script|style|textarea|title)$/i,Un=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ft=Un(1),ui=Un(2),q=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),Nn=new WeakMap,nt=st.createTreeWalker(st,129);function kn(o,t){if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return $n!==void 0?$n.createHTML(t):t}var Zs=(o,t)=>{let e=o.length-1,s=[],i,r=t===2?"":"",l=wt;for(let A=0;A"?(l=i??wt,E=-1):T[1]===void 0?E=-2:(E=l.lastIndex-T[2].length,y=T[1],l=T[3]===void 0?et:T[3]==='"'?xn:Rn):l===xn||l===Rn?l=et:l===Mn||l===Ln?l=wt:(l=et,i=void 0);let P=l===et&&o[A+1].startsWith("/>")?" ":"";r+=l===wt?p+Ks:E>=0?(s.push(y),p.slice(0,E)+On+p.slice(E)+K+P):p+K+(E===-2?A:P)}return[kn(o,r+(o[e]||"")+(t===2?"":"")),s]},Lt=class o{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,l=0,A=t.length-1,p=this.parts,[y,T]=Zs(t,e);if(this.el=o.createElement(y,s),nt.currentNode=this.el.content,e===2){let E=this.el.content.firstChild;E.replaceWith(...E.childNodes)}for(;(i=nt.nextNode())!==null&&p.length0){i.textContent=Yt?Yt.emptyScript:"";for(let P=0;P2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=S}_$AI(t,e=this,s,i){let r=this.strings,l=!1;if(r===void 0)t=pt(this,t,e,0),l=!Mt(t)||t!==this._$AH&&t!==q,l&&(this._$AH=t);else{let A=t,p,y;for(t=r[0],p=0;p{let s=e?.renderBefore??t,i=s._$litPart$;if(i===void 0){let r=e?.renderBefore??null;s._$litPart$=i=new Rt(t.insertBefore($t(),r),r,void 0,e??{})}return i._$AI(o),i};var X=class extends V{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Hn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}};X._$litElement$=!0,X["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:X});var Qs=globalThis.litElementPolyfillSupport;Qs?.({LitElement:X});(globalThis.litElementVersions??=[]).push("4.0.5");var Fn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},zn=o=>(...t)=>({_$litDirective$:o,values:t}),Kt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var xt=class extends Kt{constructor(t){if(super(t),this.it=S,t.type!==Fn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===S||t==null)return this._t=void 0,this.it=t;if(t===q)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};xt.directiveName="unsafeHTML",xt.resultType=1;var Me=zn(xt);var ti={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt},ei=(o=ti,t,e)=>{let{kind:s,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(e.name,o),s==="accessor"){let{name:l}=e;return{set(A){let p=t.get.call(this);t.set.call(this,A),this.requestUpdate(l,p,o)},init(A){return A!==void 0&&this.P(l,void 0,o),A}}}if(s==="setter"){let{name:l}=e;return function(A){let p=this[l];t.call(this,A),this.requestUpdate(l,p,o)}}throw Error("Unsupported decorator location: "+s)};function z(o){return(t,e)=>typeof e=="object"?ei(o,t,e):((s,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,l?{...s,wrapped:!0}:s),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var Gn=Fs(Bn());function Zt(o,t){let e=document.createElement(o);for(let[s,i]of Object.entries(t)){let r=s.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Z=class extends X{createRenderRoot(){return this}};function xe({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function Wn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){xe({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var ni=(0,Gn.default)();ni.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o.getAttribute("type")==="application/json"&&o.getAttribute("data-for")!==null;t.allowedTags.script=e}});var Ne="shiny-chat-message",Vn="shiny-user-message",qn="shiny-chat-messages",Yn="shiny-chat-input",si="shiny-chat-container",jn={robot:'',dots_fade:''},it=class extends Z{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let s=this.content.trim().length===0?jn.dots_fade:this.icon||jn.robot;return ft` +var Ds=Object.create;var Ae=Object.defineProperty;var vn=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf,Us=Object.prototype.hasOwnProperty;var ks=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var Hs=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Is(t))!Us.call(o,i)&&i!==e&&Ae(o,i,{get:()=>t[i],enumerable:!(s=vn(t,i))||s.enumerable});return o};var Fs=(o,t,e)=>(e=o!=null?Ds(Ps(o)):{},Hs(t||!o||!o.__esModule?Ae(e,"default",{value:o,enumerable:!0}):e,o));var j=(o,t,e,s)=>{for(var i=s>1?void 0:s?vn(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&Ae(t,e,i),i};var Gn=ks((Le,Re)=>{(function(o,t){typeof Le=="object"&&typeof Re<"u"?Re.exports=t():typeof define=="function"&&define.amd?define(t):(o=typeof globalThis<"u"?globalThis:o||self,o.DOMPurify=t())})(Le,function(){"use strict";let{entries:o,setPrototypeOf:t,isFrozen:e,getPrototypeOf:s,getOwnPropertyDescriptor:i}=Object,{freeze:r,seal:l,create:A}=Object,{apply:p,construct:y}=typeof Reflect<"u"&&Reflect;r||(r=function(u){return u}),l||(l=function(u){return u}),p||(p=function(u,_,g){return u.apply(_,g)}),y||(y=function(u,_){return new u(..._)});let T=U(Array.prototype.forEach),E=U(Array.prototype.pop),R=U(Array.prototype.push),P=U(String.prototype.toLowerCase),Y=U(String.prototype.toString),Ie=U(String.prototype.match),mt=U(String.prototype.replace),Kn=U(String.prototype.indexOf),Xn=U(String.prototype.trim),H=U(Object.prototype.hasOwnProperty),x=U(RegExp.prototype.test),gt=Zn(TypeError);function Pe(m){return typeof m=="number"&&isNaN(m)}function U(m){return function(u){for(var _=arguments.length,g=new Array(_>1?_-1:0),M=1;M<_;M++)g[M-1]=arguments[M];return p(m,u,g)}}function Zn(m){return function(){for(var u=arguments.length,_=new Array(u),g=0;g2&&arguments[2]!==void 0?arguments[2]:P;t&&t(m,null);let g=u.length;for(;g--;){let M=u[g];if(typeof M=="string"){let B=_(M);B!==M&&(e(u)||(u[g]=B),M=B)}m[M]=!0}return m}function Jn(m){for(let u=0;u/gm),ss=l(/\${[\w\W]*}/gm),is=l(/^data-[\-\w.\u00B7-\uFFFF]/),os=l(/^aria-[\-\w]+$/),ze=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rs=l(/^(?:\w+script|data):/i),as=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Be=l(/^html$/i),ls=l(/^[a-z][.\w]*(-[.\w]+)+$/i);var Ge=Object.freeze({__proto__:null,MUSTACHE_EXPR:es,ERB_EXPR:ns,TMPLIT_EXPR:ss,DATA_ATTR:is,ARIA_ATTR:os,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:rs,ATTR_WHITESPACE:as,DOCTYPE_NAME:Be,CUSTOM_ELEMENT:ls});let Q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},cs=function(){return typeof window>"u"?null:window},us=function(u,_){if(typeof u!="object"||typeof u.createPolicy!="function")return null;let g=null,M="data-tt-policy-suffix";_&&_.hasAttribute(M)&&(g=_.getAttribute(M));let B="dompurify"+(g?"#"+g:"");try{return u.createPolicy(B,{createHTML(ot){return ot},createScriptURL(ot){return ot}})}catch{return console.warn("TrustedTypes policy "+B+" could not be created."),null}};function We(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cs(),u=h=>We(h);if(u.version="3.1.4",u.removed=[],!m||!m.document||m.document.nodeType!==Q.document)return u.isSupported=!1,u;let{document:_}=m,g=_,M=g.currentScript,{DocumentFragment:B,HTMLTemplateElement:ot,Node:ie,Element:je,NodeFilter:_t,NamedNodeMap:ps=m.NamedNodeMap||m.MozNamedAttrMap,HTMLFormElement:ds,DOMParser:fs,trustedTypes:It}=m,Pt=je.prototype,ms=Ot(Pt,"cloneNode"),gs=Ot(Pt,"nextSibling"),_s=Ot(Pt,"childNodes"),Et=Ot(Pt,"parentNode");if(typeof ot=="function"){let h=_.createElement("template");h.content&&h.content.ownerDocument&&(_=h.content.ownerDocument)}let N,At="",{implementation:oe,createNodeIterator:Es,createDocumentFragment:As,getElementsByTagName:ys}=_,{importNode:Ts}=g,F={};u.isSupported=typeof o=="function"&&typeof Et=="function"&&oe&&oe.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:re,ERB_EXPR:ae,TMPLIT_EXPR:le,DATA_ATTR:vs,ARIA_ATTR:Ss,IS_SCRIPT_OR_DATA:bs,ATTR_WHITESPACE:Ve,CUSTOM_ELEMENT:Cs}=Ge,{IS_ALLOWED_URI:qe}=Ge,b=null,Ye=f({},[...Ue,...te,...ee,...ne,...ke]),C=null,Ke=f({},[...He,...se,...Fe,...Dt]),v=Object.seal(A(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),yt=null,ce=null,Xe=!0,ue=!0,Ze=!1,Je=!0,rt=!1,he=!0,tt=!1,pe=!1,de=!1,at=!1,Ut=!1,kt=!1,Qe=!0,tn=!1,ws="user-content-",fe=!0,Tt=!1,lt={},ct=null,en=f({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),nn=null,sn=f({},["audio","video","img","source","image","track"]),me=null,on=f({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ht="http://www.w3.org/1998/Math/MathML",Ft="http://www.w3.org/2000/svg",G="http://www.w3.org/1999/xhtml",ut=G,ge=!1,_e=null,$s=f({},[Ht,Ft,G],Y),vt=null,Ms=["application/xhtml+xml","text/html"],Ls="text/html",w=null,ht=null,rn=255,Rs=_.createElement("form"),an=function(n){return n instanceof RegExp||n instanceof Function},Ee=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ht&&ht===n)){if((!n||typeof n!="object")&&(n={}),n=J(n),vt=Ms.indexOf(n.PARSER_MEDIA_TYPE)===-1?Ls:n.PARSER_MEDIA_TYPE,w=vt==="application/xhtml+xml"?Y:P,b=H(n,"ALLOWED_TAGS")?f({},n.ALLOWED_TAGS,w):Ye,C=H(n,"ALLOWED_ATTR")?f({},n.ALLOWED_ATTR,w):Ke,_e=H(n,"ALLOWED_NAMESPACES")?f({},n.ALLOWED_NAMESPACES,Y):$s,me=H(n,"ADD_URI_SAFE_ATTR")?f(J(on),n.ADD_URI_SAFE_ATTR,w):on,nn=H(n,"ADD_DATA_URI_TAGS")?f(J(sn),n.ADD_DATA_URI_TAGS,w):sn,ct=H(n,"FORBID_CONTENTS")?f({},n.FORBID_CONTENTS,w):en,yt=H(n,"FORBID_TAGS")?f({},n.FORBID_TAGS,w):{},ce=H(n,"FORBID_ATTR")?f({},n.FORBID_ATTR,w):{},lt=H(n,"USE_PROFILES")?n.USE_PROFILES:!1,Xe=n.ALLOW_ARIA_ATTR!==!1,ue=n.ALLOW_DATA_ATTR!==!1,Ze=n.ALLOW_UNKNOWN_PROTOCOLS||!1,Je=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,rt=n.SAFE_FOR_TEMPLATES||!1,he=n.SAFE_FOR_XML!==!1,tt=n.WHOLE_DOCUMENT||!1,at=n.RETURN_DOM||!1,Ut=n.RETURN_DOM_FRAGMENT||!1,kt=n.RETURN_TRUSTED_TYPE||!1,de=n.FORCE_BODY||!1,Qe=n.SANITIZE_DOM!==!1,tn=n.SANITIZE_NAMED_PROPS||!1,fe=n.KEEP_CONTENT!==!1,Tt=n.IN_PLACE||!1,qe=n.ALLOWED_URI_REGEXP||ze,ut=n.NAMESPACE||G,v=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&an(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(v.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&an(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(v.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(v.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),rt&&(ue=!1),Ut&&(at=!0),lt&&(b=f({},ke),C=[],lt.html===!0&&(f(b,Ue),f(C,He)),lt.svg===!0&&(f(b,te),f(C,se),f(C,Dt)),lt.svgFilters===!0&&(f(b,ee),f(C,se),f(C,Dt)),lt.mathMl===!0&&(f(b,ne),f(C,Fe),f(C,Dt))),n.ADD_TAGS&&(b===Ye&&(b=J(b)),f(b,n.ADD_TAGS,w)),n.ADD_ATTR&&(C===Ke&&(C=J(C)),f(C,n.ADD_ATTR,w)),n.ADD_URI_SAFE_ATTR&&f(me,n.ADD_URI_SAFE_ATTR,w),n.FORBID_CONTENTS&&(ct===en&&(ct=J(ct)),f(ct,n.FORBID_CONTENTS,w)),fe&&(b["#text"]=!0),tt&&f(b,["html","head","body"]),b.table&&(f(b,["tbody"]),delete yt.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=n.TRUSTED_TYPES_POLICY,At=N.createHTML("")}else N===void 0&&(N=us(It,M)),N!==null&&typeof At=="string"&&(At=N.createHTML(""));r&&r(n),ht=n}},ln=f({},["mi","mo","mn","ms","mtext"]),cn=f({},["foreignobject","annotation-xml"]),xs=f({},["title","style","font","a","script"]),un=f({},[...te,...ee,...Qn]),hn=f({},[...ne,...ts]),Ns=function(n){let a=Et(n);(!a||!a.tagName)&&(a={namespaceURI:ut,tagName:"template"});let c=P(n.tagName),d=P(a.tagName);return _e[n.namespaceURI]?n.namespaceURI===Ft?a.namespaceURI===G?c==="svg":a.namespaceURI===Ht?c==="svg"&&(d==="annotation-xml"||ln[d]):!!un[c]:n.namespaceURI===Ht?a.namespaceURI===G?c==="math":a.namespaceURI===Ft?c==="math"&&cn[d]:!!hn[c]:n.namespaceURI===G?a.namespaceURI===Ft&&!cn[d]||a.namespaceURI===Ht&&!ln[d]?!1:!hn[c]&&(xs[c]||!un[c]):!!(vt==="application/xhtml+xml"&&_e[n.namespaceURI]):!1},k=function(n){R(u.removed,{element:n});try{n.parentNode.removeChild(n)}catch{n.remove()}},zt=function(n,a){try{R(u.removed,{attribute:a.getAttributeNode(n),from:a})}catch{R(u.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is"&&!C[n])if(at||Ut)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},pn=function(n){let a=null,c=null;if(de)n=""+n;else{let $=Ie(n,/^[\r\n\t ]+/);c=$&&$[0]}vt==="application/xhtml+xml"&&ut===G&&(n=''+n+"");let d=N?N.createHTML(n):n;if(ut===G)try{a=new fs().parseFromString(d,vt)}catch{}if(!a||!a.documentElement){a=oe.createDocument(ut,"template",null);try{a.documentElement.innerHTML=ge?At:d}catch{}}let L=a.body||a.documentElement;return n&&c&&L.insertBefore(_.createTextNode(c),L.childNodes[0]||null),ut===G?ys.call(a,tt?"html":"body")[0]:tt?a.documentElement:L},dn=function(n){return Es.call(n.ownerDocument||n,n,_t.SHOW_ELEMENT|_t.SHOW_COMMENT|_t.SHOW_TEXT|_t.SHOW_PROCESSING_INSTRUCTION|_t.SHOW_CDATA_SECTION,null)},fn=function(n){return n instanceof ds&&(typeof n.__depth<"u"&&typeof n.__depth!="number"||typeof n.__removalCount<"u"&&typeof n.__removalCount!="number"||typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof ps)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},mn=function(n){return typeof ie=="function"&&n instanceof ie},W=function(n,a,c){F[n]&&T(F[n],d=>{d.call(u,a,c,ht)})},gn=function(n){let a=null;if(W("beforeSanitizeElements",n,null),fn(n))return k(n),!0;let c=w(n.nodeName);if(W("uponSanitizeElement",n,{tagName:c,allowedTags:b}),n.hasChildNodes()&&!mn(n.firstElementChild)&&x(/<[/\w]/g,n.innerHTML)&&x(/<[/\w]/g,n.textContent)||n.nodeType===Q.progressingInstruction||he&&n.nodeType===Q.comment&&x(/<[/\w]/g,n.data))return k(n),!0;if(!b[c]||yt[c]){if(!yt[c]&&En(c)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c)))return!1;if(fe&&!ct[c]){let d=Et(n)||n.parentNode,L=_s(n)||n.childNodes;if(L&&d){let $=L.length;for(let D=$-1;D>=0;--D){let I=ms(L[D],!0);I.__removalCount=(n.__removalCount||0)+1,d.insertBefore(I,gs(n))}}}return k(n),!0}return n instanceof je&&!Ns(n)||(c==="noscript"||c==="noembed"||c==="noframes")&&x(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(rt&&n.nodeType===Q.text&&(a=n.textContent,T([re,ae,le],d=>{a=mt(a,d," ")}),n.textContent!==a&&(R(u.removed,{element:n.cloneNode()}),n.textContent=a)),W("afterSanitizeElements",n,null),!1)},_n=function(n,a,c){if(Qe&&(a==="id"||a==="name")&&(c in _||c in Rs||c==="__depth"||c==="__removalCount"))return!1;if(!(ue&&!ce[a]&&x(vs,a))){if(!(Xe&&x(Ss,a))){if(!C[a]||ce[a]){if(!(En(n)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,n)||v.tagNameCheck instanceof Function&&v.tagNameCheck(n))&&(v.attributeNameCheck instanceof RegExp&&x(v.attributeNameCheck,a)||v.attributeNameCheck instanceof Function&&v.attributeNameCheck(a))||a==="is"&&v.allowCustomizedBuiltInElements&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c))))return!1}else if(!me[a]){if(!x(qe,mt(c,Ve,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Kn(c,"data:")===0&&nn[n])){if(!(Ze&&!x(bs,mt(c,Ve,"")))){if(c)return!1}}}}}}return!0},En=function(n){return n!=="annotation-xml"&&Ie(n,Cs)},An=function(n){W("beforeSanitizeAttributes",n,null);let{attributes:a}=n;if(!a)return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C},d=a.length;for(;d--;){let L=a[d],{name:$,namespaceURI:D,value:I}=L,St=w($),O=$==="value"?I:Xn(I);if(c.attrName=St,c.attrValue=O,c.keepAttr=!0,c.forceKeepAttr=void 0,W("uponSanitizeAttribute",n,c),O=c.attrValue,c.forceKeepAttr||(zt($,n),!c.keepAttr))continue;if(!Je&&x(/\/>/i,O)){zt($,n);continue}if(he&&x(/((--!?|])>)|<\/(style|title)/i,O)){zt($,n);continue}rt&&T([re,ae,le],Tn=>{O=mt(O,Tn," ")});let yn=w(n.nodeName);if(_n(yn,St,O)){if(tn&&(St==="id"||St==="name")&&(zt($,n),O=ws+O),N&&typeof It=="object"&&typeof It.getAttributeType=="function"&&!D)switch(It.getAttributeType(yn,St)){case"TrustedHTML":{O=N.createHTML(O);break}case"TrustedScriptURL":{O=N.createScriptURL(O);break}}try{D?n.setAttributeNS(D,$,O):n.setAttribute($,O),fn(n)?k(n):E(u.removed)}catch{}}}W("afterSanitizeAttributes",n,null)},Os=function h(n){let a=null,c=dn(n);for(W("beforeSanitizeShadowDOM",n,null);a=c.nextNode();){if(W("uponSanitizeShadowNode",a,null),gn(a))continue;let d=Et(a);a.nodeType===Q.element&&(d&&d.__depth?a.__depth=(a.__removalCount||0)+d.__depth+1:a.__depth=1),(a.__depth>=rn||a.__depth<0||Pe(a.__depth))&&k(a),a.content instanceof B&&(a.content.__depth=a.__depth,h(a.content)),An(a)}W("afterSanitizeShadowDOM",n,null)};return u.sanitize=function(h){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,d=null,L=null;if(ge=!h,ge&&(h=""),typeof h!="string"&&!mn(h))if(typeof h.toString=="function"){if(h=h.toString(),typeof h!="string")throw gt("dirty is not a string, aborting")}else throw gt("toString is not a function");if(!u.isSupported)return h;if(pe||Ee(n),u.removed=[],typeof h=="string"&&(Tt=!1),Tt){if(h.nodeName){let I=w(h.nodeName);if(!b[I]||yt[I])throw gt("root node is forbidden and cannot be sanitized in-place")}}else if(h instanceof ie)a=pn(""),c=a.ownerDocument.importNode(h,!0),c.nodeType===Q.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!at&&!rt&&!tt&&h.indexOf("<")===-1)return N&&kt?N.createHTML(h):h;if(a=pn(h),!a)return at?null:kt?At:""}a&&de&&k(a.firstChild);let $=dn(Tt?h:a);for(;d=$.nextNode();){if(gn(d))continue;let I=Et(d);d.nodeType===Q.element&&(I&&I.__depth?d.__depth=(d.__removalCount||0)+I.__depth+1:d.__depth=1),(d.__depth>=rn||d.__depth<0||Pe(d.__depth))&&k(d),d.content instanceof B&&(d.content.__depth=d.__depth,Os(d.content)),An(d)}if(Tt)return h;if(at){if(Ut)for(L=As.call(a.ownerDocument);a.firstChild;)L.appendChild(a.firstChild);else L=a;return(C.shadowroot||C.shadowrootmode)&&(L=Ts.call(g,L,!0)),L}let D=tt?a.outerHTML:a.innerHTML;return tt&&b["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&x(Be,a.ownerDocument.doctype.name)&&(D=" +`+D),rt&&T([re,ae,le],I=>{D=mt(D,I," ")}),N&&kt?N.createHTML(D):D},u.setConfig=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ee(h),pe=!0},u.clearConfig=function(){ht=null,pe=!1},u.isValidAttribute=function(h,n,a){ht||Ee({});let c=w(h),d=w(n);return _n(c,d,a)},u.addHook=function(h,n){typeof n=="function"&&(F[h]=F[h]||[],R(F[h],n))},u.removeHook=function(h){if(F[h])return E(F[h])},u.removeHooks=function(h){F[h]&&(F[h]=[])},u.removeAllHooks=function(){F={}},u}var hs=We();return hs})});var Bt=globalThis,Wt=Bt.ShadowRoot&&(Bt.ShadyCSS===void 0||Bt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,bn=Symbol(),Sn=new WeakMap,Gt=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==bn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=Sn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Sn.set(e,t))}return t}toString(){return this.cssText}},Cn=o=>new Gt(typeof o=="string"?o:o+"",void 0,bn);var ye=(o,t)=>{if(Wt)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let s=document.createElement("style"),i=Bt.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,o.appendChild(s)}},jt=Wt?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return Cn(e)})(o):o;var{is:zs,defineProperty:Bs,getOwnPropertyDescriptor:Gs,getOwnPropertyNames:Ws,getOwnPropertySymbols:js,getPrototypeOf:Vs}=Object,Vt=globalThis,wn=Vt.trustedTypes,qs=wn?wn.emptyScript:"",Ys=Vt.reactiveElementPolyfillSupport,bt=(o,t)=>o,Ct={toAttribute(o,t){switch(t){case Boolean:o=o?qs:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},qt=(o,t)=>!zs(o,t),$n={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt};Symbol.metadata??=Symbol("metadata"),Vt.litPropertyMetadata??=new WeakMap;var V=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$n){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&Bs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){let{get:i,set:r}=Gs(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get(){return i?.call(this)},set(l){let A=i?.call(this);r.call(this,l),this.requestUpdate(t,A,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$n}static _$Ei(){if(this.hasOwnProperty(bt("elementProperties")))return;let t=Vs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(bt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(bt("properties"))){let e=this.properties,s=[...Ws(e),...js(e)];for(let i of s)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let i of s)e.unshift(jt(i))}else t!==void 0&&e.push(jt(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ye(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){let s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){let r=(s.converter?.toAttribute!==void 0?s.converter:Ct).toAttribute(e,s.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=s.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Ct;this._$Em=i,this[i]=l.fromAttribute(e,r.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??qt)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[i,r]of s)r.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.P(i,this[i],r)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach(e=>this._$EC(e,this[e])),this._$EU()}updated(t){}firstUpdated(t){}};V.elementStyles=[],V.shadowRootOptions={mode:"open"},V[bt("elementProperties")]=new Map,V[bt("finalized")]=new Map,Ys?.({ReactiveElement:V}),(Vt.reactiveElementVersions??=[]).push("2.0.4");var $e=globalThis,Yt=$e.trustedTypes,Mn=Yt?Yt.createPolicy("lit-html",{createHTML:o=>o}):void 0,Dn="$lit$",K=`lit$${Math.random().toFixed(9).slice(2)}$`,In="?"+K,Ks=`<${In}>`,st=document,$t=()=>st.createComment(""),Mt=o=>o===null||typeof o!="object"&&typeof o!="function",Pn=Array.isArray,Xs=o=>Pn(o)||typeof o?.[Symbol.iterator]=="function",Te=`[ +\f\r]`,wt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ln=/-->/g,Rn=/>/g,et=RegExp(`>|${Te}(?:([^\\s"'>=/]+)(${Te}*=${Te}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),xn=/'/g,Nn=/"/g,Un=/^(?:script|style|textarea|title)$/i,kn=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ft=kn(1),ui=kn(2),q=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),On=new WeakMap,nt=st.createTreeWalker(st,129);function Hn(o,t){if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Mn!==void 0?Mn.createHTML(t):t}var Zs=(o,t)=>{let e=o.length-1,s=[],i,r=t===2?"":"",l=wt;for(let A=0;A"?(l=i??wt,E=-1):T[1]===void 0?E=-2:(E=l.lastIndex-T[2].length,y=T[1],l=T[3]===void 0?et:T[3]==='"'?Nn:xn):l===Nn||l===xn?l=et:l===Ln||l===Rn?l=wt:(l=et,i=void 0);let P=l===et&&o[A+1].startsWith("/>")?" ":"";r+=l===wt?p+Ks:E>=0?(s.push(y),p.slice(0,E)+Dn+p.slice(E)+K+P):p+K+(E===-2?A:P)}return[Hn(o,r+(o[e]||"")+(t===2?"":"")),s]},Lt=class o{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,l=0,A=t.length-1,p=this.parts,[y,T]=Zs(t,e);if(this.el=o.createElement(y,s),nt.currentNode=this.el.content,e===2){let E=this.el.content.firstChild;E.replaceWith(...E.childNodes)}for(;(i=nt.nextNode())!==null&&p.length0){i.textContent=Yt?Yt.emptyScript:"";for(let P=0;P2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=S}_$AI(t,e=this,s,i){let r=this.strings,l=!1;if(r===void 0)t=pt(this,t,e,0),l=!Mt(t)||t!==this._$AH&&t!==q,l&&(this._$AH=t);else{let A=t,p,y;for(t=r[0],p=0;p{let s=e?.renderBefore??t,i=s._$litPart$;if(i===void 0){let r=e?.renderBefore??null;s._$litPart$=i=new Rt(t.insertBefore($t(),r),r,void 0,e??{})}return i._$AI(o),i};var X=class extends V{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Fn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}};X._$litElement$=!0,X["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:X});var Qs=globalThis.litElementPolyfillSupport;Qs?.({LitElement:X});(globalThis.litElementVersions??=[]).push("4.0.5");var zn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Bn=o=>(...t)=>({_$litDirective$:o,values:t}),Kt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var xt=class extends Kt{constructor(t){if(super(t),this.it=S,t.type!==zn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===S||t==null)return this._t=void 0,this.it=t;if(t===q)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};xt.directiveName="unsafeHTML",xt.resultType=1;var Me=Bn(xt);var ti={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt},ei=(o=ti,t,e)=>{let{kind:s,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(e.name,o),s==="accessor"){let{name:l}=e;return{set(A){let p=t.get.call(this);t.set.call(this,A),this.requestUpdate(l,p,o)},init(A){return A!==void 0&&this.P(l,void 0,o),A}}}if(s==="setter"){let{name:l}=e;return function(A){let p=this[l];t.call(this,A),this.requestUpdate(l,p,o)}}throw Error("Unsupported decorator location: "+s)};function z(o){return(t,e)=>typeof e=="object"?ei(o,t,e):((s,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,l?{...s,wrapped:!0}:s),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var Wn=Fs(Gn());function Zt(o,t){let e=document.createElement(o);for(let[s,i]of Object.entries(t)){let r=s.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Z=class extends X{createRenderRoot(){return this}};function xe({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function jn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){xe({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var ni=(0,Wn.default)();ni.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o.getAttribute("type")==="application/json"&&o.getAttribute("data-for")!==null;t.allowedTags.script=e}});var Ne="shiny-chat-message",qn="shiny-user-message",Oe="shiny-chat-messages",Yn="shiny-chat-input",si="shiny-chat-container",Vn={robot:'',dots_fade:''},it=class extends Z{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let s=this.content.trim().length===0?Vn.dots_fade:this.icon||Vn.robot;return ft`
${Me(s)}
- `}};j([z()],Jt.prototype,"content",2);var Oe=class extends Z{render(){return ft``}},Nt=class extends Z{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(e){let s=this._disabled;e!==s&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",s),this.#t())}attributeChangedCallback(e,s,i){super.attributeChangedCallback(e,s,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let e='';return ft` + `}};j([z()],Jt.prototype,"content",2);var De=class extends Z{render(){return ft``}},Nt=class extends Z{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(e){let s=this._disabled;e!==s&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",s),this.#t())}attributeChangedCallback(e,s,i){super.attributeChangedCallback(e,s,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let e='';return ft` \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\ncustomElements.define(CHAT_MESSAGE_TAG, ChatMessage);\ncustomElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\ncustomElements.define(CHAT_MESSAGES_TAG, ChatMessages);\ncustomElements.define(CHAT_INPUT_TAG, ChatInput);\ncustomElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n"], - "mappings": "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B,CAEAH,EAASjE,EAAeiE,CAAM,CAChC,CAEA,SAASU,GAAgB,CACvB,OAAO,IACT,CAEA,OAAOA,CACT,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,GAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,GAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,GAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,GAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,GAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,GAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,GAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,GAAgBhF,EAAK,2BAA2B,EAChDiF,GAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAA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", + "sourcesContent": ["const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function numberIsNaN(x) {\n // eslint-disable-next-line unicorn/prefer-number-properties\n return typeof x === 'number' && isNaN(x);\n}\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param {Function} func - The function to be wrapped and called.\n * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param {Function} func - The constructor function to be wrapped and called.\n * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param {Object} set - The set to which elements will be added.\n * @param {Array} array - The array containing elements to be added to the set.\n * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns {Object} The modified set with added elements.\n */\nfunction addToSet(set, array, transformCaseFunc = stringToLowerCase) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/**\n * Clean up an array to harden against CSPP\n *\n * @param {Array} array - The array to be cleaned.\n * @returns {Array} The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n\n return array;\n}\n\n/**\n * Shallow clone an object\n *\n * @param {Object} object - The object to be cloned.\n * @returns {Object} A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (\n value &&\n typeof value === 'object' &&\n value.constructor === Object\n ) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n\n return newObject;\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param {Object} object - The object to look up the getter function in its prototype chain.\n * @param {String} prop - The property name for which to find the getter function.\n * @returns {Function} The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue() {\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n entries,\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n isFrozen,\n setPrototypeOf,\n seal,\n clone,\n create,\n objectHasOwnProperty,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n addToSet,\n // Reflect\n unapply,\n unconstruct,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n 'mprescripts',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'popover',\n 'popovertarget',\n 'popovertargetaction',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'wrap',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n", "import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n entries,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n numberIsNaN,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n create,\n objectHasOwnProperty,\n} from './utils.js';\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5, // Deprecated\n entityNode: 6, // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12, // Deprecated\n};\n\nconst getGlobal = function () {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, purifyHostElement) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (\n !window ||\n !window.document ||\n window.document.nodeType !== NODE_TYPE.document\n ) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n let { document } = window;\n\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n let trustedTypesPolicy;\n let emptyHTML = '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof entries === 'function' &&\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Specify the maximum element nesting depth to prevent mXSS */\n const MAX_NESTING_DEPTH = 255;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg = {}) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? DEFAULT_PARSER_MEDIA_TYPE\n : cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS')\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR')\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES')\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR')\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS')\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS')\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS')\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR')\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES')\n ? cfg.USE_PROFILES\n : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || EXPRESSIONS.IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, TAGS.text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.'\n );\n }\n\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.'\n );\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n currentScript\n );\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.svgDisallowed,\n ]);\n const ALL_MATHML_TAGS = addToSet({}, [\n ...TAGS.mathMl,\n ...TAGS.mathMlDisallowed,\n ]);\n\n /**\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param {Node} root The root element or node to start traversing on.\n * @return {NodeIterator} The created NodeIterator\n */\n const _createNodeIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n // eslint-disable-next-line unicorn/no-typeof-undefined\n ((typeof elm.__depth !== 'undefined' &&\n typeof elm.__depth !== 'number') ||\n // eslint-disable-next-line unicorn/no-typeof-undefined\n (typeof elm.__removalCount !== 'undefined' &&\n typeof elm.__removalCount !== 'number') ||\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param {Node} object object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'function' && object instanceof Node;\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content = null;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any ocurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any kind of possibly harmful comments */\n if (\n SAFE_FOR_XML &&\n currentNode.nodeType === NODE_TYPE.comment &&\n regExpTest(/<[/\\w]/g, currentNode.data)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n ) {\n return false;\n }\n\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n ) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if (\n (tagName === 'noscript' ||\n tagName === 'noembed' ||\n tagName === 'noframes') &&\n regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n content = stringReplace(content, expr, ' ');\n });\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document ||\n value in formElement ||\n value === '__depth' ||\n value === '__removalCount')\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_isBasicCustomElement(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n } else if (value) {\n return false;\n } else {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n }\n\n return true;\n };\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param {string} tagName name of the tag of the node to sanitize\n * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function (tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const { name, namespaceURI, value: attrValue } = attr;\n const lcName = transformCaseFunc(name);\n\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML': {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n\n case 'TrustedScriptURL': {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n const parentNode = getParentNode(shadowNode);\n\n /* Set the nesting depth of an element */\n if (shadowNode.nodeType === NODE_TYPE.element) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n shadowNode.__depth =\n (shadowNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n shadowNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n shadowNode.__depth >= MAX_NESTING_DEPTH ||\n shadowNode.__depth < 0 ||\n numberIsNaN(shadowNode.__depth)\n ) {\n _forceRemove(shadowNode);\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n shadowNode.content.__depth = shadowNode.__depth;\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} cfg object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (\n importedNode.nodeType === NODE_TYPE.element &&\n importedNode.nodeName === 'BODY'\n ) {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n const parentNode = getParentNode(currentNode);\n\n /* Set the nesting depth of an element */\n if (currentNode.nodeType === NODE_TYPE.element) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n currentNode.__depth =\n (currentNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n currentNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n currentNode.__depth >= MAX_NESTING_DEPTH ||\n currentNode.__depth < 0 ||\n numberIsNaN(currentNode.__depth)\n ) {\n _forceRemove(currentNode);\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n currentNode.content.__depth = currentNode.__depth;\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg = {}) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {String} tag Tag name of containing element.\n * @param {String} attr Attribute name.\n * @param {String} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n", "/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n

${unsafeHTML(icon)}
\n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], + "mappings": "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B,CAEAH,EAASjE,EAAeiE,CAAM,CAChC,CAEA,SAASU,GAAgB,CACvB,OAAO,IACT,CAEA,OAAOA,CACT,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,GAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,GAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,GAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,GAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,GAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,GAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,GAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,GAAgBhF,EAAK,2BAA2B,EAChDiF,GAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5B,2FACF,EACasF,GAAoBtF,EAAK,uBAAuB,EAChDuF,GAAkBvF,EAC7B,6DACF,EACawF,GAAexF,EAAK,SAAS,EAC7ByF,GAAiBzF,EAAK,0BAA0B,2MCU7D,IAAM0F,EAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,EACZ,EAEMC,GAAY,UAAY,CAC5B,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAAUC,EAAcC,EAAmB,CAC3E,GACE,OAAOD,GAAiB,UACxB,OAAOA,EAAaE,cAAiB,WAErC,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,CAAS,IAC/DD,EAASF,EAAkBK,aAAaF,CAAS,GAGnD,IAAMG,EAAa,aAAeJ,EAAS,IAAMA,EAAS,IAE1D,GAAI,CACF,OAAOH,EAAaE,aAAaK,EAAY,CAC3CC,WAAWxC,GAAM,CACf,OAAOA,IAETyC,gBAAgBC,GAAW,CACzB,OAAOA,EACT,CACF,CAAC,OACS,CAIVC,eAAQC,KACN,uBAAyBL,EAAa,wBACxC,EACO,IACT,CACF,EAEA,SAASM,IAAsC,CAAA,IAAtBf,EAAMzD,UAAAC,OAAAD,GAAAA,UAAAS,CAAAA,IAAAA,OAAAT,UAAGwD,CAAAA,EAAAA,GAAS,EACnCiB,EAAaC,GAASF,GAAgBE,CAAI,EAchD,GARAD,EAAUE,QAAUC,QAMpBH,EAAUI,QAAU,CAAA,EAGlB,CAACpB,GACD,CAACA,EAAOL,UACRK,EAAOL,SAAS0B,WAAajC,EAAUO,SAIvCqB,OAAAA,EAAUM,YAAc,GAEjBN,EAGT,GAAI,CAAErB,SAAAA,CAAS,EAAIK,EAEbuB,EAAmB5B,EACnB6B,EAAgBD,EAAiBC,cACjC,CACJC,iBAAAA,EACAC,oBAAAA,GACAC,KAAAA,GACAC,QAAAA,GACAC,WAAAA,GACAC,aAAAA,GAAe9B,EAAO8B,cAAgB9B,EAAO+B,gBAC7CC,gBAAAA,GACAC,UAAAA,GACA/B,aAAAA,EACF,EAAIF,EAEEkC,GAAmBN,GAAQrH,UAE3B4H,GAAYtE,GAAaqE,GAAkB,WAAW,EACtDE,GAAiBvE,GAAaqE,GAAkB,aAAa,EAC7DG,GAAgBxE,GAAaqE,GAAkB,YAAY,EAC3DI,GAAgBzE,GAAaqE,GAAkB,YAAY,EAQjE,GAAI,OAAOR,IAAwB,WAAY,CAC7C,IAAMa,EAAW5C,EAAS6C,cAAc,UAAU,EAC9CD,EAASE,SAAWF,EAASE,QAAQC,gBACvC/C,EAAW4C,EAASE,QAAQC,cAEhC,CAEA,IAAIC,EACAC,GAAY,GAEV,CACJC,eAAAA,GACAC,mBAAAA,GACAC,uBAAAA,GACAC,qBAAAA,EACF,EAAIrD,EACE,CAAEsD,WAAAA,EAAW,EAAI1B,EAEnB2B,EAAQ,CAAA,EAKZlC,EAAUM,YACR,OAAOnI,GAAY,YACnB,OAAOmJ,IAAkB,YACzBO,IACAA,GAAeM,qBAAuBnG,OAExC,GAAM,CACJ0B,cAAAA,GACAC,SAAAA,GACAC,YAAAA,GACAC,UAAAA,GACAC,UAAAA,GACAE,kBAAAA,GACAC,gBAAAA,GACAE,eAAAA,EACF,EAAIiE,GAEA,CAAErE,eAAAA,EAAe,EAAIqE,GAQrBC,EAAe,KACbC,GAAuB1G,EAAS,CAAA,EAAI,CACxC,GAAG2G,GACH,GAAGA,GACH,GAAGA,GACH,GAAGA,GACH,GAAGA,EAAS,CACb,EAGGC,EAAe,KACbC,GAAuB7G,EAAS,CAAA,EAAI,CACxC,GAAG8G,GACH,GAAGA,GACH,GAAGA,GACH,GAAGA,EAAS,CACb,EAQGC,EAA0BnK,OAAOE,KACnCC,EAAO,KAAM,CACXiK,aAAc,CACZC,SAAU,GACVC,aAAc,GACdC,WAAY,GACZrG,MAAO,MAETsG,mBAAoB,CAClBH,SAAU,GACVC,aAAc,GACdC,WAAY,GACZrG,MAAO,MAETuG,+BAAgC,CAC9BJ,SAAU,GACVC,aAAc,GACdC,WAAY,GACZrG,MAAO,EACT,CACF,CAAC,CACH,EAGIwG,GAAc,KAGdC,GAAc,KAGdC,GAAkB,GAGlBC,GAAkB,GAGlBC,GAA0B,GAI1BC,GAA2B,GAK3BC,GAAqB,GAKrBC,GAAe,GAGfC,GAAiB,GAGjBC,GAAa,GAIbC,GAAa,GAMbC,GAAa,GAIbC,GAAsB,GAItBC,GAAsB,GAKtBC,GAAe,GAefC,GAAuB,GACrBC,GAA8B,gBAGhCC,GAAe,GAIfC,GAAW,GAGXC,GAAe,CAAA,EAGfC,GAAkB,KAChBC,GAA0B3I,EAAS,CAAA,EAAI,CAC3C,iBACA,QACA,WACA,OACA,gBACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,QACA,UACA,WACA,WACA,YACA,SACA,QACA,MACA,WACA,QACA,QACA,QACA,KAAK,CACN,EAGG4I,GAAgB,KACdC,GAAwB7I,EAAS,CAAA,EAAI,CACzC,QACA,QACA,MACA,SACA,QACA,OAAO,CACR,EAGG8I,GAAsB,KACpBC,GAA8B/I,EAAS,CAAA,EAAI,CAC/C,MACA,QACA,MACA,KACA,QACA,OACA,UACA,cACA,OACA,UACA,QACA,QACA,QACA,OAAO,CACR,EAEKgJ,GAAmB,qCACnBC,GAAgB,6BAChBC,EAAiB,+BAEnBC,GAAYD,EACZE,GAAiB,GAGjBC,GAAqB,KACnBC,GAA6BtJ,EACjC,CAAA,EACA,CAACgJ,GAAkBC,GAAeC,CAAc,EAChD9K,CACF,EAGImL,GAAoB,KAClBC,GAA+B,CAAC,wBAAyB,WAAW,EACpEC,GAA4B,YAC9BtJ,EAAoB,KAGpBuJ,GAAS,KAGPC,GAAoB,IAKpBC,GAAc7G,EAAS6C,cAAc,MAAM,EAE3CiE,GAAoB,SAAUC,EAAW,CAC7C,OAAOA,aAAqB7K,QAAU6K,aAAqBC,UASvDC,GAAe,UAAoB,CAAA,IAAVC,EAAGtK,UAAAC,OAAA,GAAAD,UAAA,CAAA,IAAAS,OAAAT,UAAA,CAAA,EAAG,CAAA,EACnC,GAAI+J,EAAAA,IAAUA,KAAWO,GAwLzB,KAnLI,CAACA,GAAO,OAAOA,GAAQ,YACzBA,EAAM,CAAA,GAIRA,EAAMvJ,EAAMuJ,CAAG,EAEfV,GAEEC,GAA6B7K,QAAQsL,EAAIV,iBAAiB,IAAM,GAC5DE,GACAQ,EAAIV,kBAGVpJ,EACEoJ,KAAsB,wBAClBnL,EACAH,EAGNwI,EAAe3H,EAAqBmL,EAAK,cAAc,EACnDjK,EAAS,CAAA,EAAIiK,EAAIxD,aAActG,CAAiB,EAChDuG,GACJE,EAAe9H,EAAqBmL,EAAK,cAAc,EACnDjK,EAAS,CAAA,EAAIiK,EAAIrD,aAAczG,CAAiB,EAChD0G,GACJwC,GAAqBvK,EAAqBmL,EAAK,oBAAoB,EAC/DjK,EAAS,CAAA,EAAIiK,EAAIZ,mBAAoBjL,CAAc,EACnDkL,GACJR,GAAsBhK,EAAqBmL,EAAK,mBAAmB,EAC/DjK,EACEU,EAAMqI,EAA2B,EACjCkB,EAAIC,kBACJ/J,CACF,EACA4I,GACJH,GAAgB9J,EAAqBmL,EAAK,mBAAmB,EACzDjK,EACEU,EAAMmI,EAAqB,EAC3BoB,EAAIE,kBACJhK,CACF,EACA0I,GACJH,GAAkB5J,EAAqBmL,EAAK,iBAAiB,EACzDjK,EAAS,CAAA,EAAIiK,EAAIvB,gBAAiBvI,CAAiB,EACnDwI,GACJrB,GAAcxI,EAAqBmL,EAAK,aAAa,EACjDjK,EAAS,CAAA,EAAIiK,EAAI3C,YAAanH,CAAiB,EAC/C,CAAA,EACJoH,GAAczI,EAAqBmL,EAAK,aAAa,EACjDjK,EAAS,CAAA,EAAIiK,EAAI1C,YAAapH,CAAiB,EAC/C,CAAA,EACJsI,GAAe3J,EAAqBmL,EAAK,cAAc,EACnDA,EAAIxB,aACJ,GACJjB,GAAkByC,EAAIzC,kBAAoB,GAC1CC,GAAkBwC,EAAIxC,kBAAoB,GAC1CC,GAA0BuC,EAAIvC,yBAA2B,GACzDC,GAA2BsC,EAAItC,2BAA6B,GAC5DC,GAAqBqC,EAAIrC,oBAAsB,GAC/CC,GAAeoC,EAAIpC,eAAiB,GACpCC,GAAiBmC,EAAInC,gBAAkB,GACvCG,GAAagC,EAAIhC,YAAc,GAC/BC,GAAsB+B,EAAI/B,qBAAuB,GACjDC,GAAsB8B,EAAI9B,qBAAuB,GACjDH,GAAaiC,EAAIjC,YAAc,GAC/BI,GAAe6B,EAAI7B,eAAiB,GACpCC,GAAuB4B,EAAI5B,sBAAwB,GACnDE,GAAe0B,EAAI1B,eAAiB,GACpCC,GAAWyB,EAAIzB,UAAY,GAC3BrG,GAAiB8H,EAAIG,oBAAsB5D,GAC3C2C,GAAYc,EAAId,WAAaD,EAC7BnC,EAA0BkD,EAAIlD,yBAA2B,CAAA,EAEvDkD,EAAIlD,yBACJ8C,GAAkBI,EAAIlD,wBAAwBC,YAAY,IAE1DD,EAAwBC,aACtBiD,EAAIlD,wBAAwBC,cAI9BiD,EAAIlD,yBACJ8C,GAAkBI,EAAIlD,wBAAwBK,kBAAkB,IAEhEL,EAAwBK,mBACtB6C,EAAIlD,wBAAwBK,oBAI9B6C,EAAIlD,yBACJ,OAAOkD,EAAIlD,wBAAwBM,gCACjC,YAEFN,EAAwBM,+BACtB4C,EAAIlD,wBAAwBM,gCAG5BO,KACFH,GAAkB,IAGhBS,KACFD,GAAa,IAIXQ,KACFhC,EAAezG,EAAS,CAAA,EAAI2G,EAAS,EACrCC,EAAe,CAAA,EACX6B,GAAanH,OAAS,KACxBtB,EAASyG,EAAcE,EAAS,EAChC3G,EAAS4G,EAAcE,EAAU,GAG/B2B,GAAalH,MAAQ,KACvBvB,EAASyG,EAAcE,EAAQ,EAC/B3G,EAAS4G,EAAcE,EAAS,EAChC9G,EAAS4G,EAAcE,EAAS,GAG9B2B,GAAajH,aAAe,KAC9BxB,EAASyG,EAAcE,EAAe,EACtC3G,EAAS4G,EAAcE,EAAS,EAChC9G,EAAS4G,EAAcE,EAAS,GAG9B2B,GAAa/G,SAAW,KAC1B1B,EAASyG,EAAcE,EAAW,EAClC3G,EAAS4G,EAAcE,EAAY,EACnC9G,EAAS4G,EAAcE,EAAS,IAKhCmD,EAAII,WACF5D,IAAiBC,KACnBD,EAAe/F,EAAM+F,CAAY,GAGnCzG,EAASyG,EAAcwD,EAAII,SAAUlK,CAAiB,GAGpD8J,EAAIK,WACF1D,IAAiBC,KACnBD,EAAelG,EAAMkG,CAAY,GAGnC5G,EAAS4G,EAAcqD,EAAIK,SAAUnK,CAAiB,GAGpD8J,EAAIC,mBACNlK,EAAS8I,GAAqBmB,EAAIC,kBAAmB/J,CAAiB,EAGpE8J,EAAIvB,kBACFA,KAAoBC,KACtBD,GAAkBhI,EAAMgI,EAAe,GAGzC1I,EAAS0I,GAAiBuB,EAAIvB,gBAAiBvI,CAAiB,GAI9DoI,KACF9B,EAAa,OAAO,EAAI,IAItBqB,IACF9H,EAASyG,EAAc,CAAC,OAAQ,OAAQ,MAAM,CAAC,EAI7CA,EAAa8D,QACfvK,EAASyG,EAAc,CAAC,OAAO,CAAC,EAChC,OAAOa,GAAYkD,OAGjBP,EAAIQ,qBAAsB,CAC5B,GAAI,OAAOR,EAAIQ,qBAAqB3G,YAAe,WACjD,MAAM3E,GACJ,6EACF,EAGF,GAAI,OAAO8K,EAAIQ,qBAAqB1G,iBAAoB,WACtD,MAAM5E,GACJ,kFACF,EAIF4G,EAAqBkE,EAAIQ,qBAGzBzE,GAAYD,EAAmBjC,WAAW,EAAE,CAC9C,MAEMiC,IAAuB3F,SACzB2F,EAAqB1C,GACnBC,GACAsB,CACF,GAIEmB,IAAuB,MAAQ,OAAOC,IAAc,WACtDA,GAAYD,EAAmBjC,WAAW,EAAE,GAM5CjH,GACFA,EAAOoN,CAAG,EAGZP,GAASO,IAGLS,GAAiC1K,EAAS,CAAA,EAAI,CAClD,KACA,KACA,KACA,KACA,OAAO,CACR,EAEK2K,GAA0B3K,EAAS,CAAA,EAAI,CAC3C,gBACA,gBAAgB,CACjB,EAMK4K,GAA+B5K,EAAS,CAAA,EAAI,CAChD,QACA,QACA,OACA,IACA,QAAQ,CACT,EAKK6K,GAAe7K,EAAS,CAAA,EAAI,CAChC,GAAG2G,GACH,GAAGA,GACH,GAAGA,EAAkB,CACtB,EACKmE,GAAkB9K,EAAS,CAAA,EAAI,CACnC,GAAG2G,GACH,GAAGA,EAAqB,CACzB,EAQKoE,GAAuB,SAAUzK,EAAS,CAC9C,IAAI0K,EAAStF,GAAcpF,CAAO,GAI9B,CAAC0K,GAAU,CAACA,EAAOC,WACrBD,EAAS,CACPE,aAAc/B,GACd8B,QAAS,aAIb,IAAMA,EAAUhN,EAAkBqC,EAAQ2K,OAAO,EAC3CE,EAAgBlN,EAAkB+M,EAAOC,OAAO,EAEtD,OAAK5B,GAAmB/I,EAAQ4K,YAAY,EAIxC5K,EAAQ4K,eAAiBjC,GAIvB+B,EAAOE,eAAiBhC,EACnB+B,IAAY,MAMjBD,EAAOE,eAAiBlC,GAExBiC,IAAY,QACXE,IAAkB,kBACjBT,GAA+BS,CAAa,GAM3CC,EAAQP,GAAaI,CAAO,EAGjC3K,EAAQ4K,eAAiBlC,GAIvBgC,EAAOE,eAAiBhC,EACnB+B,IAAY,OAKjBD,EAAOE,eAAiBjC,GACnBgC,IAAY,QAAUN,GAAwBQ,CAAa,EAK7DC,EAAQN,GAAgBG,CAAO,EAGpC3K,EAAQ4K,eAAiBhC,EAKzB8B,EAAOE,eAAiBjC,IACxB,CAAC0B,GAAwBQ,CAAa,GAMtCH,EAAOE,eAAiBlC,IACxB,CAAC0B,GAA+BS,CAAa,EAEtC,GAMP,CAACL,GAAgBG,CAAO,IACvBL,GAA6BK,CAAO,GAAK,CAACJ,GAAaI,CAAO,GAMjE1B,GAAAA,KAAsB,yBACtBF,GAAmB/I,EAAQ4K,YAAY,GA3EhC,IA4FLG,EAAe,SAAUC,EAAM,CACnCvN,EAAUqG,EAAUI,QAAS,CAAElE,QAASgL,CAAK,CAAC,EAE9C,GAAI,CAEFA,EAAKC,WAAWC,YAAYF,CAAI,OACtB,CACVA,EAAKG,OAAM,CACb,GASIC,GAAmB,SAAUC,EAAML,EAAM,CAC7C,GAAI,CACFvN,EAAUqG,EAAUI,QAAS,CAC3B/B,UAAW6I,EAAKM,iBAAiBD,CAAI,EACrCE,KAAMP,CACR,CAAC,OACS,CACVvN,EAAUqG,EAAUI,QAAS,CAC3B/B,UAAW,KACXoJ,KAAMP,CACR,CAAC,CACH,CAKA,GAHAA,EAAKQ,gBAAgBH,CAAI,EAGrBA,IAAS,MAAQ,CAAC/E,EAAa+E,CAAI,EACrC,GAAI1D,IAAcC,GAChB,GAAI,CACFmD,EAAaC,CAAI,CACnB,MAAY,CAAA,KAEZ,IAAI,CACFA,EAAKS,aAAaJ,EAAM,EAAE,CAC5B,MAAY,CAAA,GAWZK,GAAgB,SAAUC,EAAO,CAErC,IAAIC,EAAM,KACNC,EAAoB,KAExB,GAAInE,GACFiE,EAAQ,oBAAsBA,MACzB,CAEL,IAAMG,EAAU9N,GAAY2N,EAAO,aAAa,EAChDE,EAAoBC,GAAWA,EAAQ,CAAC,CAC1C,CAGE7C,KAAsB,yBACtBJ,KAAcD,IAGd+C,EACE,iEACAA,EACA,kBAGJ,IAAMI,EAAetG,EACjBA,EAAmBjC,WAAWmI,CAAK,EACnCA,EAKJ,GAAI9C,KAAcD,EAChB,GAAI,CACFgD,EAAM,IAAI7G,GAAS,EAAGiH,gBAAgBD,EAAc9C,EAAiB,CACvE,MAAY,CAAA,CAId,GAAI,CAAC2C,GAAO,CAACA,EAAIK,gBAAiB,CAChCL,EAAMjG,GAAeuG,eAAerD,GAAW,WAAY,IAAI,EAC/D,GAAI,CACF+C,EAAIK,gBAAgBE,UAAYrD,GAC5BpD,GACAqG,OACM,CACV,CAEJ,CAEA,IAAMK,EAAOR,EAAIQ,MAAQR,EAAIK,gBAU7B,OARIN,GAASE,GACXO,EAAKC,aACH5J,EAAS6J,eAAeT,CAAiB,EACzCO,EAAKG,WAAW,CAAC,GAAK,IACxB,EAIE1D,KAAcD,EACT9C,GAAqB0G,KAC1BZ,EACApE,GAAiB,OAAS,MAC5B,EAAE,CAAC,EAGEA,GAAiBoE,EAAIK,gBAAkBG,GAS1CK,GAAsB,SAAU1I,EAAM,CAC1C,OAAO6B,GAAmB4G,KACxBzI,EAAKyB,eAAiBzB,EACtBA,EAEAY,GAAW+H,aACT/H,GAAWgI,aACXhI,GAAWiI,UACXjI,GAAWkI,4BACXlI,GAAWmI,mBACb,IACF,GASIC,GAAe,SAAUC,EAAK,CAClC,OACEA,aAAelI,KAEb,OAAOkI,EAAIC,QAAY,KACvB,OAAOD,EAAIC,SAAY,UAEtB,OAAOD,EAAIE,eAAmB,KAC7B,OAAOF,EAAIE,gBAAmB,UAChC,OAAOF,EAAIG,UAAa,UACxB,OAAOH,EAAII,aAAgB,UAC3B,OAAOJ,EAAI9B,aAAgB,YAC3B,EAAE8B,EAAIK,sBAAsBzI,KAC5B,OAAOoI,EAAIxB,iBAAoB,YAC/B,OAAOwB,EAAIvB,cAAiB,YAC5B,OAAOuB,EAAIpC,cAAiB,UAC5B,OAAOoC,EAAIX,cAAiB,YAC5B,OAAOW,EAAIM,eAAkB,aAU7BC,GAAU,SAAUlN,EAAQ,CAChC,OAAO,OAAOoE,IAAS,YAAcpE,aAAkBoE,IAWnD+I,EAAe,SAAUC,EAAYC,EAAaC,EAAM,CACvD3H,EAAMyH,CAAU,GAIrBvQ,EAAa8I,EAAMyH,CAAU,EAAIG,GAAS,CACxCA,EAAKpB,KAAK1I,EAAW4J,EAAaC,EAAMvE,EAAM,CAChD,CAAC,GAaGyE,GAAoB,SAAUH,EAAa,CAC/C,IAAInI,EAAU,KAMd,GAHAiI,EAAa,yBAA0BE,EAAa,IAAI,EAGpDX,GAAaW,CAAW,EAC1B3C,OAAAA,EAAa2C,CAAW,EACjB,GAIT,IAAM/C,EAAU9K,EAAkB6N,EAAYP,QAAQ,EA0BtD,GAvBAK,EAAa,sBAAuBE,EAAa,CAC/C/C,QAAAA,EACAmD,YAAa3H,CACf,CAAC,EAICuH,EAAYJ,cAAa,GACzB,CAACC,GAAQG,EAAYK,iBAAiB,GACtCrP,EAAW,UAAWgP,EAAYvB,SAAS,GAC3CzN,EAAW,UAAWgP,EAAYN,WAAW,GAO3CM,EAAYvJ,WAAajC,EAAUK,wBAOrCgF,IACAmG,EAAYvJ,WAAajC,EAAUM,SACnC9D,EAAW,UAAWgP,EAAYC,IAAI,EAEtC5C,OAAAA,EAAa2C,CAAW,EACjB,GAIT,GAAI,CAACvH,EAAawE,CAAO,GAAK3D,GAAY2D,CAAO,EAAG,CAElD,GAAI,CAAC3D,GAAY2D,CAAO,GAAKqD,GAAsBrD,CAAO,IAEtDlE,EAAwBC,wBAAwB/H,QAChDD,EAAW+H,EAAwBC,aAAciE,CAAO,GAMxDlE,EAAwBC,wBAAwB+C,UAChDhD,EAAwBC,aAAaiE,CAAO,GAE5C,MAAO,GAKX,GAAI1C,IAAgB,CAACG,GAAgBuC,CAAO,EAAG,CAC7C,IAAMM,EAAa7F,GAAcsI,CAAW,GAAKA,EAAYzC,WACvDsB,EAAapH,GAAcuI,CAAW,GAAKA,EAAYnB,WAE7D,GAAIA,GAActB,EAAY,CAC5B,IAAMgD,EAAa1B,EAAWjN,OAE9B,QAAS4O,EAAID,EAAa,EAAGC,GAAK,EAAG,EAAEA,EAAG,CACxC,IAAMC,EAAalJ,GAAUsH,EAAW2B,CAAC,EAAG,EAAI,EAChDC,EAAWjB,gBAAkBQ,EAAYR,gBAAkB,GAAK,EAChEjC,EAAWoB,aAAa8B,EAAYjJ,GAAewI,CAAW,CAAC,CACjE,CACF,CACF,CAEA3C,OAAAA,EAAa2C,CAAW,EACjB,EACT,CASA,OANIA,aAAuBhJ,IAAW,CAAC+F,GAAqBiD,CAAW,IAOpE/C,IAAY,YACXA,IAAY,WACZA,IAAY,aACdjM,EAAW,8BAA+BgP,EAAYvB,SAAS,GAE/DpB,EAAa2C,CAAW,EACjB,KAILpG,IAAsBoG,EAAYvJ,WAAajC,EAAUZ,OAE3DiE,EAAUmI,EAAYN,YAEtBlQ,EAAa,CAACsE,GAAeC,GAAUC,EAAW,EAAI0M,GAAS,CAC7D7I,EAAUrH,GAAcqH,EAAS6I,EAAM,GAAG,CAC5C,CAAC,EAEGV,EAAYN,cAAgB7H,IAC9B9H,EAAUqG,EAAUI,QAAS,CAAElE,QAAS0N,EAAYzI,UAAS,CAAG,CAAC,EACjEyI,EAAYN,YAAc7H,IAK9BiI,EAAa,wBAAyBE,EAAa,IAAI,EAEhD,KAYHW,GAAoB,SAAUC,EAAOC,EAAQ/N,EAAO,CAExD,GACEsH,KACCyG,IAAW,MAAQA,IAAW,UAC9B/N,KAASiC,GACRjC,KAAS8I,IACT9I,IAAU,WACVA,IAAU,kBAEZ,MAAO,GAOT,GACE2G,EAAAA,IACA,CAACF,GAAYsH,CAAM,GACnB7P,EAAWiD,GAAW4M,CAAM,IAGvB,GAAIrH,EAAAA,IAAmBxI,EAAWkD,GAAW2M,CAAM,IAGnD,GAAI,CAACjI,EAAaiI,CAAM,GAAKtH,GAAYsH,CAAM,GACpD,GAIGP,EAAAA,GAAsBM,CAAK,IACxB7H,EAAwBC,wBAAwB/H,QAChDD,EAAW+H,EAAwBC,aAAc4H,CAAK,GACrD7H,EAAwBC,wBAAwB+C,UAC/ChD,EAAwBC,aAAa4H,CAAK,KAC5C7H,EAAwBK,8BAA8BnI,QACtDD,EAAW+H,EAAwBK,mBAAoByH,CAAM,GAC5D9H,EAAwBK,8BAA8B2C,UACrDhD,EAAwBK,mBAAmByH,CAAM,IAGtDA,IAAW,MACV9H,EAAwBM,iCACtBN,EAAwBC,wBAAwB/H,QAChDD,EAAW+H,EAAwBC,aAAclG,CAAK,GACrDiG,EAAwBC,wBAAwB+C,UAC/ChD,EAAwBC,aAAalG,CAAK,IAKhD,MAAO,WAGAgI,CAAAA,GAAoB+F,CAAM,GAI9B,GACL7P,CAAAA,EAAWmD,GAAgB3D,GAAcsC,EAAOuB,GAAiB,EAAE,CAAC,GAK/D,GACJwM,GAAAA,IAAW,OAASA,IAAW,cAAgBA,IAAW,SAC3DD,IAAU,UACVlQ,GAAcoC,EAAO,OAAO,IAAM,GAClC8H,GAAcgG,CAAK,IAMd,GACLlH,EAAAA,IACA,CAAC1I,EAAWoD,GAAmB5D,GAAcsC,EAAOuB,GAAiB,EAAE,CAAC,IAInE,GAAIvB,EACT,MAAO,QAMT,MAAO,IAWHwN,GAAwB,SAAUrD,EAAS,CAC/C,OAAOA,IAAY,kBAAoB3M,GAAY2M,EAAS1I,EAAc,GAatEuM,GAAsB,SAAUd,EAAa,CAEjDF,EAAa,2BAA4BE,EAAa,IAAI,EAE1D,GAAM,CAAEL,WAAAA,CAAW,EAAIK,EAGvB,GAAI,CAACL,EACH,OAGF,IAAMoB,EAAY,CAChBC,SAAU,GACVC,UAAW,GACXC,SAAU,GACVC,kBAAmBvI,GAEjBvG,EAAIsN,EAAW/N,OAGnB,KAAOS,KAAK,CACV,IAAM+O,EAAOzB,EAAWtN,CAAC,EACnB,CAAEsL,KAAAA,EAAMT,aAAAA,EAAcpK,MAAOmO,CAAU,EAAIG,EAC3CP,GAAS1O,EAAkBwL,CAAI,EAEjC7K,EAAQ6K,IAAS,QAAUsD,EAAYrQ,GAAWqQ,CAAS,EAkB/D,GAfAF,EAAUC,SAAWH,GACrBE,EAAUE,UAAYnO,EACtBiO,EAAUG,SAAW,GACrBH,EAAUM,cAAgBjP,OAC1B0N,EAAa,wBAAyBE,EAAae,CAAS,EAC5DjO,EAAQiO,EAAUE,UAEdF,EAAUM,gBAKd3D,GAAiBC,EAAMqC,CAAW,EAG9B,CAACe,EAAUG,UACb,SAIF,GAAI,CAACvH,IAA4B3I,EAAW,OAAQ8B,CAAK,EAAG,CAC1D4K,GAAiBC,EAAMqC,CAAW,EAClC,QACF,CAGA,GAAInG,IAAgB7I,EAAW,gCAAiC8B,CAAK,EAAG,CACtE4K,GAAiBC,EAAMqC,CAAW,EAClC,QACF,CAGIpG,IACFpK,EAAa,CAACsE,GAAeC,GAAUC,EAAW,EAAI0M,IAAS,CAC7D5N,EAAQtC,GAAcsC,EAAO4N,GAAM,GAAG,CACxC,CAAC,EAIH,IAAME,GAAQzO,EAAkB6N,EAAYP,QAAQ,EACpD,GAAKkB,GAAkBC,GAAOC,GAAQ/N,CAAK,EAgB3C,IATIuH,KAAyBwG,KAAW,MAAQA,KAAW,UAEzDnD,GAAiBC,EAAMqC,CAAW,EAGlClN,EAAQwH,GAA8BxH,GAKtCiF,GACA,OAAOzC,IAAiB,UACxB,OAAOA,GAAagM,kBAAqB,YAErCpE,CAAAA,EAGF,OAAQ5H,GAAagM,iBAAiBV,GAAOC,EAAM,EAAC,CAClD,IAAK,cAAe,CAClB/N,EAAQiF,EAAmBjC,WAAWhD,CAAK,EAC3C,KACF,CAEA,IAAK,mBAAoB,CACvBA,EAAQiF,EAAmBhC,gBAAgBjD,CAAK,EAChD,KACF,CAKF,CAKJ,GAAI,CACEoK,EACF8C,EAAYuB,eAAerE,EAAcS,EAAM7K,CAAK,EAGpDkN,EAAYjC,aAAaJ,EAAM7K,CAAK,EAGlCuM,GAAaW,CAAW,EAC1B3C,EAAa2C,CAAW,EAExBnQ,EAASuG,EAAUI,OAAO,CAE9B,MAAY,CAAA,EACd,CAGAsJ,EAAa,0BAA2BE,EAAa,IAAI,GAQrDwB,GAAqB,SAArBA,EAA+BC,EAAU,CAC7C,IAAIC,EAAa,KACXC,EAAiB5C,GAAoB0C,CAAQ,EAKnD,IAFA3B,EAAa,0BAA2B2B,EAAU,IAAI,EAE9CC,EAAaC,EAAeC,SAAQ,GAAK,CAK/C,GAHA9B,EAAa,yBAA0B4B,EAAY,IAAI,EAGnDvB,GAAkBuB,CAAU,EAC9B,SAGF,IAAMnE,EAAa7F,GAAcgK,CAAU,EAGvCA,EAAWjL,WAAajC,EAAUlC,UAChCiL,GAAcA,EAAWgC,QAK3BmC,EAAWnC,SACRmC,EAAWlC,gBAAkB,GAAKjC,EAAWgC,QAAU,EAE1DmC,EAAWnC,QAAU,IASvBmC,EAAWnC,SAAW5D,IACtB+F,EAAWnC,QAAU,GACrBjO,GAAYoQ,EAAWnC,OAAO,IAE9BlC,EAAaqE,CAAU,EAIrBA,EAAW7J,mBAAmBhB,IAChC6K,EAAW7J,QAAQ0H,QAAUmC,EAAWnC,QACxCiC,EAAmBE,EAAW7J,OAAO,GAIvCiJ,GAAoBY,CAAU,CAChC,CAGA5B,EAAa,yBAA0B2B,EAAU,IAAI,GAWvDrL,OAAAA,EAAUyL,SAAW,SAAU5D,EAAiB,CAAA,IAAVhC,EAAGtK,UAAAC,OAAA,GAAAD,UAAA,CAAA,IAAAS,OAAAT,UAAA,CAAA,EAAG,CAAA,EACtC+M,EAAO,KACPoD,EAAe,KACf9B,EAAc,KACd+B,EAAa,KAUjB,GANA3G,GAAiB,CAAC6C,EACd7C,KACF6C,EAAQ,SAIN,OAAOA,GAAU,UAAY,CAAC4B,GAAQ5B,CAAK,EAC7C,GAAI,OAAOA,EAAM5N,UAAa,YAE5B,GADA4N,EAAQA,EAAM5N,SAAQ,EAClB,OAAO4N,GAAU,SACnB,MAAM9M,GAAgB,iCAAiC,MAGzD,OAAMA,GAAgB,4BAA4B,EAKtD,GAAI,CAACiF,EAAUM,YACb,OAAOuH,EAgBT,GAZKlE,IACHiC,GAAaC,CAAG,EAIlB7F,EAAUI,QAAU,CAAA,EAGhB,OAAOyH,GAAU,WACnBzD,GAAW,IAGTA,IAEF,GAAIyD,EAAMwB,SAAU,CAClB,IAAMxC,EAAU9K,EAAkB8L,EAAMwB,QAAQ,EAChD,GAAI,CAAChH,EAAawE,CAAO,GAAK3D,GAAY2D,CAAO,EAC/C,MAAM9L,GACJ,yDACF,CAEJ,UACS8M,aAAiBlH,GAG1B2H,EAAOV,GAAc,SAAS,EAC9B8D,EAAepD,EAAK5G,cAAcO,WAAW4F,EAAO,EAAI,EAEtD6D,EAAarL,WAAajC,EAAUlC,SACpCwP,EAAarC,WAAa,QAIjBqC,EAAarC,WAAa,OADnCf,EAAOoD,EAKPpD,EAAKsD,YAAYF,CAAY,MAE1B,CAEL,GACE,CAAC7H,IACD,CAACL,IACD,CAACE,IAEDmE,EAAMtN,QAAQ,GAAG,IAAM,GAEvB,OAAOoH,GAAsBoC,GACzBpC,EAAmBjC,WAAWmI,CAAK,EACnCA,EAON,GAHAS,EAAOV,GAAcC,CAAK,EAGtB,CAACS,EACH,OAAOzE,GAAa,KAAOE,GAAsBnC,GAAY,EAEjE,CAGI0G,GAAQ1E,IACVqD,EAAaqB,EAAKuD,UAAU,EAI9B,IAAMC,EAAenD,GAAoBvE,GAAWyD,EAAQS,CAAI,EAGhE,KAAQsB,EAAckC,EAAaN,SAAQ,GAAK,CAE9C,GAAIzB,GAAkBH,CAAW,EAC/B,SAGF,IAAMzC,EAAa7F,GAAcsI,CAAW,EAGxCA,EAAYvJ,WAAajC,EAAUlC,UACjCiL,GAAcA,EAAWgC,QAK3BS,EAAYT,SACTS,EAAYR,gBAAkB,GAAKjC,EAAWgC,QAAU,EAE3DS,EAAYT,QAAU,IASxBS,EAAYT,SAAW5D,IACvBqE,EAAYT,QAAU,GACtBjO,GAAY0O,EAAYT,OAAO,IAE/BlC,EAAa2C,CAAW,EAItBA,EAAYnI,mBAAmBhB,IACjCmJ,EAAYnI,QAAQ0H,QAAUS,EAAYT,QAC1CiC,GAAmBxB,EAAYnI,OAAO,GAIxCiJ,GAAoBd,CAAW,CACjC,CAGA,GAAIxF,GACF,OAAOyD,EAIT,GAAIhE,GAAY,CACd,GAAIC,GAGF,IAFA6H,EAAa5J,GAAuB2G,KAAKJ,EAAK5G,aAAa,EAEpD4G,EAAKuD,YAEVF,EAAWC,YAAYtD,EAAKuD,UAAU,OAGxCF,EAAarD,EAGf,OAAI9F,EAAauJ,YAAcvJ,EAAawJ,kBAQ1CL,EAAa1J,GAAWyG,KAAKnI,EAAkBoL,EAAY,EAAI,GAG1DA,CACT,CAEA,IAAIM,EAAiBvI,GAAiB4E,EAAK4D,UAAY5D,EAAKD,UAG5D,OACE3E,IACArB,EAAa,UAAU,GACvBiG,EAAK5G,eACL4G,EAAK5G,cAAcyK,SACnB7D,EAAK5G,cAAcyK,QAAQ5E,MAC3B3M,EAAWwH,GAA0BkG,EAAK5G,cAAcyK,QAAQ5E,IAAI,IAEpE0E,EACE,aAAe3D,EAAK5G,cAAcyK,QAAQ5E,KAAO;EAAQ0E,GAIzDzI,IACFpK,EAAa,CAACsE,GAAeC,GAAUC,EAAW,EAAI0M,GAAS,CAC7D2B,EAAiB7R,GAAc6R,EAAgB3B,EAAM,GAAG,CAC1D,CAAC,EAGI3I,GAAsBoC,GACzBpC,EAAmBjC,WAAWuM,CAAc,EAC5CA,GASNjM,EAAUoM,UAAY,UAAoB,CAAA,IAAVvG,EAAGtK,UAAAC,OAAA,GAAAD,UAAA,CAAA,IAAAS,OAAAT,UAAA,CAAA,EAAG,CAAA,EACpCqK,GAAaC,CAAG,EAChBlC,GAAa,IAQf3D,EAAUqM,YAAc,UAAY,CAClC/G,GAAS,KACT3B,GAAa,IAaf3D,EAAUsM,iBAAmB,SAAUC,EAAKvB,EAAMtO,EAAO,CAElD4I,IACHM,GAAa,CAAA,CAAE,EAGjB,IAAM4E,EAAQzO,EAAkBwQ,CAAG,EAC7B9B,EAAS1O,EAAkBiP,CAAI,EACrC,OAAOT,GAAkBC,EAAOC,EAAQ/N,CAAK,GAU/CsD,EAAUwM,QAAU,SAAU7C,EAAY8C,EAAc,CAClD,OAAOA,GAAiB,aAI5BvK,EAAMyH,CAAU,EAAIzH,EAAMyH,CAAU,GAAK,CAAA,EACzChQ,EAAUuI,EAAMyH,CAAU,EAAG8C,CAAY,IAW3CzM,EAAU0M,WAAa,SAAU/C,EAAY,CAC3C,GAAIzH,EAAMyH,CAAU,EAClB,OAAOlQ,EAASyI,EAAMyH,CAAU,CAAC,GAUrC3J,EAAU2M,YAAc,SAAUhD,EAAY,CACxCzH,EAAMyH,CAAU,IAClBzH,EAAMyH,CAAU,EAAI,CAAA,IAQxB3J,EAAU4M,eAAiB,UAAY,CACrC1K,EAAQ,CAAA,GAGHlC,CACT,CAEA,IAAA6M,GAAe9M,GAAe,gBC7tD9B,IAGM+M,GAASC,WAKFC,GACXF,GAAOG,aACNH,GAAOI,WADDD,QAC2BH,GAAOI,SAASC,eAClD,uBAAwBC,SAASC,WACjC,YAAaC,cAAcD,UAkBvBE,GAAoBC,OAAAA,EAEpBC,GAAc,IAAIC,QASXC,GATWD,KASXC,CAOX,YACEC,EACAC,EACAC,EAAAA,CAEA,GAVFC,KAAe,aAAA,GAUTD,IAAcP,GAChB,MAAUS,MACR,mEAAA,EAGJD,KAAKH,QAAUA,EACfG,KAAKE,EAAWJ,CACjB,CAID,IAAA,YAAIK,CAGF,IAAIA,EAAaH,KAAKI,EAChBN,EAAUE,KAAKE,EACrB,GAAIjB,IAA+BkB,IAA/BlB,OAAyD,CAC3D,IAAMoB,EAAYP,IAAZO,QAAqCP,EAAQQ,SAAW,EAC1DD,IACFF,EAAaT,GAAYa,IAAIT,CAAAA,GAE3BK,IAF2BL,UAG5BE,KAAKI,EAAcD,EAAa,IAAIZ,eAAiBiB,YACpDR,KAAKH,OAAAA,EAEHQ,GACFX,GAAYe,IAAIX,EAASK,CAAAA,EAG9B,CACD,OAAOA,CACR,CAED,UAAAO,CACE,OAAOV,KAAKH,OACb,CAAA,EAiCUc,GAAaC,GACxB,IAAKhB,GACc,OAAVgB,GAAU,SAAWA,EAAeA,EAAPC,GAAAA,OAEpCrB,EAAAA,EA1BJ,IAgEasB,GAAc,CACzBC,EACAC,IAAAA,CAEA,GAAIC,GACDF,EAA0BG,mBAAqBF,EAAOG,IAAKC,GAC1DA,aAAaC,cAAgBD,EAAIA,EAAEE,UAAAA,MAGrC,SAAWF,KAAKJ,EAAQ,CACtB,IAAMO,EAAQC,SAASC,cAAc,OAAA,EAE/BC,EAASC,GAAyB,SACpCD,IADoC,QAEtCH,EAAMK,aAAa,QAASF,CAAAA,EAE9BH,EAAMM,YAAeT,EAAgBU,QACrCf,EAAWgB,YAAYR,CAAAA,CACxB,CACF,EAWUS,GACXf,GAEKG,GAAyBA,EACzBA,GACCA,aAAaC,eAbYY,GAAAA,CAC/B,IAAIH,EAAU,GACd,QAAWI,KAAQD,EAAME,SACvBL,GAAWI,EAAKJ,QAElB,OAAOM,GAAUN,CAAAA,CAAQ,GAQkCV,CAAAA,EAAKA,EChKlE,GAAA,CAAMiB,GACJA,GAAEC,eACFA,GAAcC,yBACdA,GAAwBC,oBACxBA,GAAmBC,sBACnBA,GAAqBC,eACrBA,EAAAA,EACEC,OAKEC,GAASC,WAUTC,GAAgBF,GACnBE,aAMGC,GAAiCD,GAClCA,GAAaE,YACd,GAEEC,GAEFL,GAAOM,+BA4FLC,GAA4B,CAChCC,EACAC,IACMD,EAuJKE,GAA8C,CACzD,YAAYC,EAAgBC,EAAAA,CAC1B,OAAQA,EAAAA,CACN,KAAKC,QACHF,EAAQA,EAAQR,GAAiC,KACjD,MACF,KAAKJ,OACL,KAAKe,MAGHH,EAAQA,GAAS,KAAOA,EAAQI,KAAKC,UAAUL,CAAAA,CAAAA,CAGnD,OAAOA,CACR,EAED,cAAcA,EAAsBC,EAAAA,CAClC,IAAIK,EAAqBN,EACzB,OAAQC,EAAAA,CACN,KAAKC,QACHI,EAAYN,IAAU,KACtB,MACF,KAAKO,OACHD,EAAYN,IAAU,KAAO,KAAOO,OAAOP,CAAAA,EAC3C,MACF,KAAKZ,OACL,KAAKe,MAIH,GAAA,CAEEG,EAAYF,KAAKI,MAAMR,CAAAA,CACxB,MAAQS,CACPH,EAAY,IACb,CAAA,CAGL,OAAOA,CACR,CAAA,EAWUI,GAAuB,CAACV,EAAgBW,IAAAA,CAClD7B,GAAGkB,EAAOW,CAAAA,EAEPC,GAAkD,CACtDC,UAAAA,GACAZ,KAAMa,OACNC,UAAWhB,GACXiB,QAAAA,GACAC,WAAYP,EAAAA,EAsBbQ,OAA8BC,WAAaD,OAAO,UAAA,EAcnD7B,GAAO+B,sBAAwB,IAAIC,QAAAA,IAWbC,EAXaD,cAoBzBE,WAAAA,CAqFR,OAAA,eAAsBC,EAAAA,CACpBC,KAAKC,KAAAA,GACJD,KAAKE,IAAkB,CAAA,GAAIC,KAAKJ,CAAAA,CAClC,CAuGD,WAAA,oBAAWK,CAOT,OALAJ,KAAKK,SAAAA,EAMHL,KAAKM,MAA4B,CAAA,GAAIN,KAAKM,KAAyBC,KAAAA,CAAAA,CAEtE,CA6BD,OAAA,eACEC,EACAC,EAA+BtB,GAAAA,CAQ/B,GALIsB,EAAQC,QACTD,EAAsDrB,UAAAA,IAEzDY,KAAKC,KAAAA,EACLD,KAAKW,kBAAkBC,IAAIJ,EAAMC,CAAAA,EAAAA,CAC5BA,EAAQI,WAAY,CACvB,IAAMC,EAIFrB,OAAAA,EACEsB,EAAaf,KAAKgB,sBAAsBR,EAAMM,EAAKL,CAAAA,EACrDM,IADqDN,QAEvDnD,GAAe0C,KAAKiB,UAAWT,EAAMO,CAAAA,CAExC,CACF,CA6BS,OAAA,sBACRP,EACAM,EACAL,EAAAA,CAEA,GAAA,CAAMS,IAACA,EAAGN,IAAEA,CAAAA,EAAOrD,GAAyByC,KAAKiB,UAAWT,CAAAA,GAAS,CACnE,KAAAU,CACE,OAAOlB,KAAKc,CAAAA,CACb,EACD,IAA2BK,EAAAA,CACxBnB,KAAqDc,CAAAA,EAAOK,CAC9D,CAAA,EAmBH,MAAO,CACL,KAAAD,CACE,OAAOA,GAAKE,KAAKpB,IAAAA,CAClB,EACD,IAA2BzB,EAAAA,CACzB,IAAM8C,EAAWH,GAAKE,KAAKpB,IAAAA,EAC3BY,EAAKQ,KAAKpB,KAAMzB,CAAAA,EAChByB,KAAKsB,cAAcd,EAAMa,EAAUZ,CAAAA,CACpC,EACDc,aAAAA,GACAC,WAAAA,EAAY,CAEf,CAgBD,OAAA,mBAA0BhB,EAAAA,CACxB,OAAOR,KAAKW,kBAAkBO,IAAIV,CAAAA,GAASrB,EAC5C,CAgBO,OAAA,MAAOc,CACb,GACED,KAAKyB,eAAetD,GAA0B,mBAAA,CAAA,EAG9C,OAGF,IAAMuD,EAAYhE,GAAesC,IAAAA,EACjC0B,EAAUrB,SAAAA,EAKNqB,EAAUxB,IALJG,SAMRL,KAAKE,EAAgB,CAAA,GAAIwB,EAAUxB,CAAAA,GAGrCF,KAAKW,kBAAoB,IAAIgB,IAAID,EAAUf,iBAAAA,CAC5C,CAaS,OAAA,UAAON,CACf,GAAIL,KAAKyB,eAAetD,GAA0B,WAAA,CAAA,EAChD,OAMF,GAJA6B,KAAK4B,UAAAA,GACL5B,KAAKC,KAAAA,EAGDD,KAAKyB,eAAetD,GAA0B,YAAA,CAAA,EAAsB,CACtE,IAAM0D,EAAQ7B,KAAK8B,WACbC,EAAW,CAAA,GACZvE,GAAoBqE,CAAAA,EAAAA,GACpBpE,GAAsBoE,CAAAA,CAAAA,EAE3B,QAAWG,KAAKD,EACd/B,KAAKiC,eAAeD,EAAGH,EAAMG,CAAAA,CAAAA,CAEhC,CAGD,IAAMtC,EAAWM,KAAKP,OAAOC,QAAAA,EAC7B,GAAIA,IAAa,KAAM,CACrB,IAAMoC,EAAanC,oBAAoBuB,IAAIxB,CAAAA,EAC3C,GAAIoC,IAAJ,OACE,OAAK,CAAOE,EAAGvB,CAAAA,IAAYqB,EACzB9B,KAAKW,kBAAkBC,IAAIoB,EAAGvB,CAAAA,CAGnC,CAGDT,KAAKM,KAA2B,IAAIqB,IACpC,OAAK,CAAOK,EAAGvB,CAAAA,IAAYT,KAAKW,kBAAmB,CACjD,IAAMuB,EAAOlC,KAAKmC,KAA2BH,EAAGvB,CAAAA,EAC5CyB,IAD4CzB,QAE9CT,KAAKM,KAAyBM,IAAIsB,EAAMF,CAAAA,CAE3C,CAEDhC,KAAKoC,cAAgBpC,KAAKqC,eAAerC,KAAKsC,MAAAA,CAkB/C,CA4BS,OAAA,eACRA,EAAAA,CAEA,IAAMF,EAAgB,CAAA,EACtB,GAAI1D,MAAM6D,QAAQD,CAAAA,EAAS,CAIzB,IAAM1B,EAAM,IAAI4B,IAAKF,EAA0BG,KAAKC,GAAAA,EAAUC,QAAAA,CAAAA,EAE9D,QAAWC,KAAKhC,EACdwB,EAAcS,QAAQC,GAAmBF,CAAAA,CAAAA,CAE5C,MAAUN,IAAV,QACCF,EAAcjC,KAAK2C,GAAmBR,CAAAA,CAAAA,EAExC,OAAOF,CACR,CAaO,OAAA,KACN5B,EACAC,EAAAA,CAEA,IAAMrB,EAAYqB,EAAQrB,UAC1B,OAAOA,IAAP,GAAOA,OAEkB,OAAdA,GAAc,SACrBA,EACgB,OAAToB,GAAS,SAChBA,EAAKuC,YAAAA,EAAAA,MAEV,CA2CD,aAAAC,CACEC,MAAAA,EApWMjD,KAAoBkD,KAAAA,OAmU5BlD,KAAemD,gBAAAA,GAOfnD,KAAUoD,WAAAA,GAkBFpD,KAAoBqD,KAAuB,KASjDrD,KAAKsD,KAAAA,CACN,CAMO,MAAAA,CACNtD,KAAKuD,KAAkB,IAAIC,QACxBC,GAASzD,KAAK0D,eAAiBD,CAAAA,EAElCzD,KAAK2D,KAAsB,IAAIhC,IAG/B3B,KAAK4D,KAAAA,EAGL5D,KAAKsB,cAAAA,EACJtB,KAAKgD,YAAuC9C,GAAe2D,QAASC,GACnEA,EAAE9D,IAAAA,CAAAA,CAEL,CAWD,cAAc+D,EAAAA,EACX/D,KAAKgE,OAAkB,IAAIxB,KAAOyB,IAAIF,CAAAA,EAKnC/D,KAAKkE,aAL8BH,QAKF/D,KAAKmE,aACxCJ,EAAWK,gBAAAA,CAEd,CAMD,iBAAiBL,EAAAA,CACf/D,KAAKgE,MAAeK,OAAON,CAAAA,CAC5B,CAcO,MAAAH,CACN,IAAMU,EAAqB,IAAI3C,IACzBhB,EAAqBX,KAAKgD,YAC7BrC,kBACH,QAAWqB,KAAKrB,EAAkBJ,KAAAA,EAC5BP,KAAKyB,eAAeO,CAAAA,IACtBsC,EAAmB1D,IAAIoB,EAAGhC,KAAKgC,CAAAA,CAAAA,EAAAA,OACxBhC,KAAKgC,CAAAA,GAGZsC,EAAmBC,KAAO,IAC5BvE,KAAKkD,KAAuBoB,EAE/B,CAWS,kBAAAE,CACR,IAAMN,EACJlE,KAAKyE,YACLzE,KAAK0E,aACF1E,KAAKgD,YAAuC2B,iBAAAA,EAMjD,OAJAC,GACEV,EACClE,KAAKgD,YAAuCZ,aAAAA,EAExC8B,CACR,CAOD,mBAAAW,CAEG7E,KAA4CkE,aAC3ClE,KAAKwE,iBAAAA,EACPxE,KAAK0D,eAAAA,EAAe,EACpB1D,KAAKgE,MAAeH,QAASiB,GAAMA,EAAEV,gBAAAA,CAAAA,CACtC,CAQS,eAAeW,EAAAA,CAA6B,CAQtD,sBAAAC,CACEhF,KAAKgE,MAAeH,QAASiB,GAAMA,EAAEG,mBAAAA,CAAAA,CACtC,CAcD,yBACEzE,EACA0E,EACA3G,EAAAA,CAEAyB,KAAKmF,KAAsB3E,EAAMjC,CAAAA,CAClC,CAEO,KAAsBiC,EAAmBjC,EAAAA,CAC/C,IAGMkC,EAFJT,KAAKgD,YACLrC,kBAC6BO,IAAIV,CAAAA,EAC7B0B,EACJlC,KAAKgD,YACLb,KAA2B3B,EAAMC,CAAAA,EACnC,GAAIyB,IAAJ,QAA0BzB,EAAQlB,UAA9B2C,GAAgD,CAClD,IAKMkD,GAJH3E,EAAQnB,WAAyC+F,cAI9CD,OAFC3E,EAAQnB,UACThB,IACsB+G,YAAa9G,EAAOkC,EAAQjC,IAAAA,EAwBxDwB,KAAKqD,KAAuB7C,EACxB4E,GAAa,KACfpF,KAAKsF,gBAAgBpD,CAAAA,EAErBlC,KAAKuF,aAAarD,EAAMkD,CAAAA,EAG1BpF,KAAKqD,KAAuB,IAC7B,CACF,CAGD,KAAsB7C,EAAcjC,EAAAA,CAClC,IAAMiH,EAAOxF,KAAKgD,YAGZyC,EAAYD,EAAKlF,KAA0CY,IAAIV,CAAAA,EAGrE,GAAIiF,IAAJ,QAA8BzF,KAAKqD,OAAyBoC,EAAU,CACpE,IAAMhF,EAAU+E,EAAKE,mBAAmBD,CAAAA,EAClCnG,EACyB,OAAtBmB,EAAQnB,WAAc,WACzB,CAACqG,cAAelF,EAAQnB,SAAAA,EACxBmB,EAAQnB,WAAWqG,gBADKrG,OAExBmB,EAAQnB,UACRhB,GAEN0B,KAAKqD,KAAuBoC,EAC5BzF,KAAKyF,CAAAA,EAA0BnG,EAAUqG,cACvCpH,EACAkC,EAAQjC,IAAAA,EAIVwB,KAAKqD,KAAuB,IAC7B,CACF,CAgBD,cACE7C,EACAa,EACAZ,EAAAA,CAGA,GAAID,IAAJ,OAAwB,CAYtB,GALAC,IACET,KAAKgD,YACL0C,mBAAmBlF,CAAAA,EAAAA,EACFC,EAAQjB,YAAcP,IACxBe,KAAKQ,CAAAA,EACGa,CAAAA,EAIvB,OAHArB,KAAK4F,EAAiBpF,EAAMa,EAAUZ,CAAAA,CAKzC,CACGT,KAAKmD,kBADR,KAECnD,KAAKuD,KAAkBvD,KAAK6F,KAAAA,EAE/B,CAKD,EACErF,EACAa,EACAZ,EAAAA,CAIKT,KAAK2D,KAAoBmC,IAAItF,CAAAA,GAChCR,KAAK2D,KAAoB/C,IAAIJ,EAAMa,CAAAA,EAMjCZ,EAAQlB,UANyB8B,IAMLrB,KAAKqD,OAAyB7C,IAC3DR,KAAK+F,OAA2B,IAAIvD,KAAoByB,IAAIzD,CAAAA,CAEhE,CAKO,MAAA,MAAMqF,CACZ7F,KAAKmD,gBAAAA,GACL,GAAA,CAAA,MAGQnD,KAAKuD,IACZ,OAAQvE,EAAAA,CAKPwE,QAAQwC,OAAOhH,CAAAA,CAChB,CACD,IAAMiH,EAASjG,KAAKkG,eAAAA,EAOpB,OAHID,GAAU,MAAVA,MACIA,EAAAA,CAEAjG,KAAKmD,eACd,CAmBS,gBAAA+C,CAiBR,OAhBelG,KAAKmG,cAAAA,CAiBrB,CAYS,eAAAA,CAIR,GAAA,CAAKnG,KAAKmD,gBACR,OAGF,GAAA,CAAKnD,KAAKoD,WAAY,CA2BpB,GAxBCpD,KAA4CkE,aAC3ClE,KAAKwE,iBAAAA,EAuBHxE,KAAKkD,KAAsB,CAG7B,OAAK,CAAOlB,EAAGzD,CAAAA,IAAUyB,KAAKkD,KAC5BlD,KAAKgC,CAAAA,EAAmBzD,EAE1ByB,KAAKkD,KAAAA,MACN,CAWD,IAAMvC,EAAqBX,KAAKgD,YAC7BrC,kBACH,GAAIA,EAAkB4D,KAAO,EAC3B,OAAK,CAAOvC,EAAGvB,CAAAA,IAAYE,EAEvBF,EAAQ2F,UAFezF,IAGtBX,KAAK2D,KAAoBmC,IAAI9D,CAAAA,GAC9BhC,KAAKgC,CAAAA,IADyBA,QAG9BhC,KAAK4F,EAAiB5D,EAAGhC,KAAKgC,CAAAA,EAAkBvB,CAAAA,CAIvD,CACD,IAAI4F,EAAAA,GACEC,EAAoBtG,KAAK2D,KAC/B,GAAA,CACE0C,EAAerG,KAAKqG,aAAaC,CAAAA,EAC7BD,GACFrG,KAAKuG,WAAWD,CAAAA,EAChBtG,KAAKgE,MAAeH,QAASiB,GAAMA,EAAE0B,aAAAA,CAAAA,EACrCxG,KAAKyG,OAAOH,CAAAA,GAEZtG,KAAK0G,KAAAA,CAER,OAAQ1H,EAAAA,CAMP,MAHAqH,EAAAA,GAEArG,KAAK0G,KAAAA,EACC1H,CACP,CAEGqH,GACFrG,KAAK2G,KAAYL,CAAAA,CAEpB,CAuBS,WAAWM,EAAAA,CAA4C,CAIjE,KAAYN,EAAAA,CACVtG,KAAKgE,MAAeH,QAASiB,GAAMA,EAAE+B,cAAAA,CAAAA,EAChC7G,KAAKoD,aACRpD,KAAKoD,WAAAA,GACLpD,KAAK8G,aAAaR,CAAAA,GAEpBtG,KAAK+G,QAAQT,CAAAA,CAiBd,CAEO,MAAAI,CACN1G,KAAK2D,KAAsB,IAAIhC,IAC/B3B,KAAKmD,gBAAAA,EACN,CAkBD,IAAA,gBAAI6D,CACF,OAAOhH,KAAKiH,kBAAAA,CACb,CAyBS,mBAAAA,CACR,OAAOjH,KAAKuD,IACb,CAUS,aAAaqD,EAAAA,CACrB,MAAA,EACD,CAWS,OAAOA,EAAAA,CAIf5G,KAAK+F,OAA2B/F,KAAK+F,KAAuBlC,QAAS7B,GACnEhC,KAAKkH,KAAsBlF,EAAGhC,KAAKgC,CAAAA,CAAAA,CAAAA,EAErChC,KAAK0G,KAAAA,CACN,CAYS,QAAQE,EAAAA,CAAsC,CAkB9C,aAAaA,EAAAA,CAAsC,CAAA,EAhgCtD/G,EAAauC,cAA6B,CAAA,EA6S1CvC,EAAA8E,kBAAoC,CAACwC,KAAM,MAAA,EAwtBnDtH,EACC1B,GAA0B,mBAAA,CAAA,EACxB,IAAIwD,IACP9B,EACC1B,GAA0B,WAAA,CAAA,EACxB,IAAIwD,IAGR1D,KAAkB,CAAC4B,gBAAAA,CAAAA,CAAAA,GAuClBjC,GAAOwJ,0BAA4B,CAAA,GAAIjH,KAAK,OAAA,ECxnD7C,IAAMkH,GAASC,WAmOTC,GAAgBF,GAA6BE,aAU7CC,GAASD,GACXA,GAAaE,aAAa,WAAY,CACpCC,WAAaC,GAAMA,CAAAA,CAAAA,EAAAA,OA8EnBC,GAAuB,QAMvBC,EAAS,OAAOC,KAAKC,OAAAA,EAASC,QAAQ,CAAA,EAAGC,MAAM,CAAA,CAAA,IAG/CC,GAAc,IAAML,EAIpBM,GAAa,IAAID,EAAAA,IAEjBE,GAOAC,SAGAC,GAAe,IAAMF,GAAEG,cAAc,EAAA,EAIrCC,GAAeC,GACnBA,IAAU,MAAyB,OAATA,GAAS,UAA4B,OAATA,GAAS,WAC3DC,GAAUC,MAAMD,QAChBE,GAAcH,GAClBC,GAAQD,CAAAA,GAEqC,OAArCA,IAAgBI,OAAOC,QAAAA,GAAc,WAEzCC,GAAa;OAkBbC,GAAe,sDAKfC,GAAkB,OAIlBC,GAAmB,KAwBnBC,GAAkBC,OACtB,KAAKL,EAAAA,qBAAgCA,EAAAA,KAAeA,EAAAA;0BACpD,GAAA,EAOIM,GAA0B,KAC1BC,GAA0B,KAO1BC,GAAiB,qCAsGjBC,GACmBC,GACvB,CAACC,KAAkCC,KAwB1B,CAELC,WAAgBH,EAChBC,QAAAA,EACAC,OAAAA,CAAAA,GAiBOE,GAAOL,GAlJA,CAAA,EA2KPM,GAAMN,GA1KA,CAAA,EAgLNO,EAAWlB,OAAOmB,IAAI,cAAA,EAqBtBC,EAAUpB,OAAOmB,IAAI,aAAA,EAS5BE,GAAgB,IAAIC,QAqCpBC,GAAShC,GAAEiC,iBACfjC,GACA,GAAA,EAqBF,SAASkC,GACPC,EACAC,EAAAA,CAOA,GAAA,CAAK7B,MAAMD,QAAQ6B,CAAAA,GAAAA,CAASA,EAAIE,eAAe,KAAA,EAiB7C,MAAUC,MAhBI,gCAAA,EAkBhB,OAAOlD,KAAP,OACIA,GAAOE,WAAW8C,CAAAA,EACjBA,CACP,CAcA,IAAMG,GAAkB,CACtBjB,EACAD,IAAAA,CAQA,IAAMmB,EAAIlB,EAAQmB,OAAS,EAIrBC,EAA2B,CAAA,EAM7BC,EALAlB,EAAOJ,IAtUM,EAsUgB,QAAU,GASvCuB,EAAQhC,GAEZ,QAASiC,EAAI,EAAGA,EAAIL,EAAGK,IAAK,CAC1B,IAAMtD,EAAI+B,EAAQuB,CAAAA,EAOdC,EAEAC,EAHAC,EAAAA,GAEAC,EAAY,EAKhB,KAAOA,EAAY1D,EAAEkD,SAEnBG,EAAMK,UAAYA,EAClBF,EAAQH,EAAMM,KAAK3D,CAAAA,EACfwD,IAAU,OAGdE,EAAYL,EAAMK,UACdL,IAAUhC,GACRmC,EA7ZU,CAAA,IA6Ze,MAC3BH,EAAQ/B,GACCkC,EA/ZG,CAAA,IA8ZJlC,OAGR+B,EAAQ9B,GACCiC,EAjaF,CAAA,IAgaCjC,QAEJK,GAAegC,KAAKJ,EAlajB,CAAA,CAAA,IAqaLJ,EAAsB3B,OAAO,KAAK+B,EAra7B,CAAA,EAqagD,GAAA,GAEvDH,EAAQ7B,IACCgC,EAvaM,CAAA,IAsaPhC,SAQR6B,EAAQ7B,IAED6B,IAAU7B,GACfgC,EA/YS,CAAA,IA+Ye,KAG1BH,EAAQD,GAAmB/B,GAG3BoC,EAAAA,IACSD,EArZI,CAAA,IAoZO,OAGpBC,EAAAA,IAEAA,EAAmBJ,EAAMK,UAAYF,EAxZrB,CAAA,EAwZ8CN,OAC9DK,EAAWC,EA1ZE,CAAA,EA2ZbH,EACEG,EA1ZO,CAAA,IAyZTH,OAEM7B,GACAgC,EA5ZG,CAAA,IA4ZmB,IACpB7B,GACAD,IAGV2B,IAAU1B,IACV0B,IAAU3B,GAEV2B,EAAQ7B,GACC6B,IAAU/B,IAAmB+B,IAAU9B,GAChD8B,EAAQhC,IAIRgC,EAAQ7B,GACR4B,EAAAA,QA8BJ,IAAMS,EACJR,IAAU7B,IAAeO,EAAQuB,EAAI,CAAA,EAAGQ,WAAW,IAAA,EAAQ,IAAM,GACnE5B,GACEmB,IAAUhC,GACNrB,EAAIQ,GACJiD,GAAoB,GACjBN,EAAUY,KAAKR,CAAAA,EAChBvD,EAAEM,MAAM,EAAGmD,CAAAA,EACTxD,GACAD,EAAEM,MAAMmD,CAAAA,EACVvD,EACA2D,GACA7D,EAAIE,GAAUuD,IAAVvD,GAAoCoD,EAAIO,EACrD,CAMD,MAAO,CAAClB,GAAwBZ,EAH9BG,GAAQH,EAAQkB,CAAAA,GAAM,QAAUnB,IA3cjB,EA2cuC,SAAW,GAAA,EAGbqB,CAAAA,CAAU,EAK5Da,GAAN,MAAMA,CAAAA,CAMJ,YAAAC,CAEElC,QAACA,EAASE,WAAgBH,CAAAA,EAC1BoC,EAAAA,CAEA,IAAIC,EAPNC,KAAKC,MAAwB,CAAA,EAQ3B,IAAIC,EAAY,EACZC,EAAgB,EACdC,EAAYzC,EAAQmB,OAAS,EAC7BmB,EAAQD,KAAKC,MAAAA,CAGZnC,EAAMiB,CAAAA,EAAaH,GAAgBjB,EAASD,CAAAA,EAKnD,GAJAsC,KAAKK,GAAKT,EAASU,cAAcxC,EAAMgC,CAAAA,EACvCzB,GAAOkC,YAAcP,KAAKK,GAAGG,QAGzB9C,IA1eW,EA0eU,CACvB,IAAM+C,EAAaT,KAAKK,GAAGG,QAAQE,WACnCD,EAAWE,YAAAA,GAAeF,EAAWG,UAAAA,CACtC,CAGD,MAAQb,EAAO1B,GAAOwC,SAAAA,KAAgB,MAAQZ,EAAMnB,OAASsB,GAAW,CACtE,GAAIL,EAAKe,WAAa,EAAG,CAuBvB,GAAKf,EAAiBgB,cAAAA,EACpB,QAAWC,KAASjB,EAAiBkB,kBAAAA,EACnC,GAAID,EAAKE,SAASrF,EAAAA,EAAuB,CACvC,IAAMsF,EAAWpC,EAAUoB,GAAAA,EAErBiB,EADSrB,EAAiBsB,aAAaL,CAAAA,EACvBM,MAAMxF,CAAAA,EACtByF,EAAI,eAAehC,KAAK4B,CAAAA,EAC9BlB,EAAMN,KAAK,CACTjC,KA1gBO,EA2gBP8D,MAAOtB,EACPc,KAAMO,EAAE,CAAA,EACR5D,QAASyD,EACTK,KACEF,EAAE,CAAA,IAAO,IACLG,GACAH,EAAE,CAAA,IAAO,IACPI,GACAJ,EAAE,CAAA,IAAO,IACPK,GACAC,EAAAA,CAAAA,EAEX9B,EAAiB+B,gBAAgBd,CAAAA,CACnC,MAAUA,EAAKtB,WAAW5D,CAAAA,IACzBmE,EAAMN,KAAK,CACTjC,KArhBK,EAshBL8D,MAAOtB,CAAAA,CAAAA,EAERH,EAAiB+B,gBAAgBd,CAAAA,GAMxC,GAAIxD,GAAegC,KAAMO,EAAiBgC,OAAAA,EAAU,CAIlD,IAAMpE,EAAWoC,EAAiBiC,YAAaV,MAAMxF,CAAAA,EAC/CwD,EAAY3B,EAAQmB,OAAS,EACnC,GAAIQ,EAAY,EAAG,CAChBS,EAAiBiC,YAAcxG,GAC3BA,GAAayG,YACd,GAMJ,QAAS/C,EAAI,EAAGA,EAAII,EAAWJ,IAC5Ba,EAAiBmC,OAAOvE,EAAQuB,CAAAA,EAAI3C,GAAAA,CAAAA,EAErC8B,GAAOwC,SAAAA,EACPZ,EAAMN,KAAK,CAACjC,KArjBP,EAqjByB8D,MAAAA,EAAStB,CAAAA,CAAAA,EAKxCH,EAAiBmC,OAAOvE,EAAQ2B,CAAAA,EAAY/C,GAAAA,CAAAA,CAC9C,CACF,CACF,SAAUwD,EAAKe,WAAa,EAE3B,GADcf,EAAiBoC,OAClBhG,GACX8D,EAAMN,KAAK,CAACjC,KAhkBH,EAgkBqB8D,MAAOtB,CAAAA,CAAAA,MAChC,CACL,IAAIhB,EAAAA,GACJ,MAAQA,EAAKa,EAAiBoC,KAAKC,QAAQtG,EAAQoD,EAAI,CAAA,KAAvD,IAGEe,EAAMN,KAAK,CAACjC,KAjkBH,EAikBuB8D,MAAOtB,CAAAA,CAAAA,EAEvChB,GAAKpD,EAAOgD,OAAS,CAExB,CAEHoB,GACD,CAkCF,CAID,OAAA,cAAqBpC,EAAmBuE,EAAAA,CACtC,IAAMhC,EAAKhE,GAAEiE,cAAc,UAAA,EAE3B,OADAD,EAAGiC,UAAYxE,EACRuC,CACR,CAAA,EAgBH,SAASkC,GACPC,EACA9F,EACA+F,EAA0BD,EAC1BE,EAAAA,CAIA,GAAIhG,IAAUsB,EACZ,OAAOtB,EAET,IAAIiG,EACFD,IADEC,OAEGF,EAAyBG,OAAeF,CAAAA,EACxCD,EAA+CI,KAChDC,EAA2BrG,GAAYC,CAAAA,EAAAA,OAGxCA,EAA2C,gBAyBhD,OAxBIiG,GAAkB9C,cAAgBiD,IAEpCH,GAAuD,OAAA,EAAI,EACvDG,IADuD,OAEzDH,EAAAA,QAEAA,EAAmB,IAAIG,EAAyBN,CAAAA,EAChDG,EAAiBI,KAAaP,EAAMC,EAAQC,CAAAA,GAE1CA,IAF0CA,QAG1CD,EAAyBG,OAAiB,CAAA,GAAIF,CAAAA,EAC9CC,EAEDF,EAAiCI,KAAcF,GAGhDA,IAHgDA,SAIlDjG,EAAQ6F,GACNC,EACAG,EAAiBK,KAAUR,EAAO9F,EAA0BkB,MAAAA,EAC5D+E,EACAD,CAAAA,GAGGhG,CACT,CAOA,IAAMuG,GAAN,KAAMA,CASJ,YAAYC,EAAoBT,EAAAA,CAPhCzC,KAAOmD,KAA4B,CAAA,EAKnCnD,KAAwBoD,KAAAA,OAGtBpD,KAAKqD,KAAaH,EAClBlD,KAAKsD,KAAWb,CACjB,CAGD,IAAA,YAAIc,CACF,OAAOvD,KAAKsD,KAASC,UACtB,CAGD,IAAA,MAAIC,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAID,EAAO1D,EAAAA,CACL,GAAA,CACEO,GAAAA,CAAIG,QAACA,CAAAA,EACLP,MAAOA,CAAAA,EACLD,KAAKqD,KACHI,GAAY3D,GAAS4D,eAAiBrH,IAAGsH,WAAWnD,EAAAA,EAAS,EACnEnC,GAAOkC,YAAckD,EAErB,IAAI1D,EAAO1B,GAAOwC,SAAAA,EACdX,EAAY,EACZ0D,EAAY,EACZC,EAAe5D,EAAM,CAAA,EAEzB,KAAO4D,IAAP,QAAmC,CACjC,GAAI3D,IAAc2D,EAAarC,MAAO,CACpC,IAAIgB,EACAqB,EAAanG,OApuBN,EAquBT8E,EAAO,IAAIsB,GACT/D,EACAA,EAAKgE,YACL/D,KACAF,CAAAA,EAEO+D,EAAanG,OA5uBT,EA6uBb8E,EAAO,IAAIqB,EAAapC,KACtB1B,EACA8D,EAAa7C,KACb6C,EAAalG,QACbqC,KACAF,CAAAA,EAEO+D,EAAanG,OA/uBX,IAgvBX8E,EAAO,IAAIwB,GAAYjE,EAAqBC,KAAMF,CAAAA,GAEpDE,KAAKmD,KAAQxD,KAAK6C,CAAAA,EAClBqB,EAAe5D,EAAAA,EAAQ2D,CAAAA,CACxB,CACG1D,IAAc2D,GAAcrC,QAC9BzB,EAAO1B,GAAOwC,SAAAA,EACdX,IAEH,CAKD,OADA7B,GAAOkC,YAAclE,GACdoH,CACR,CAED,EAAQ7F,EAAAA,CACN,IAAIsB,EAAI,EACR,QAAWsD,KAAQxC,KAAKmD,KAClBX,IADkBW,SAWfX,EAAuB7E,UAV1B6E,QAWCA,EAAuByB,KAAWrG,EAAQ4E,EAAuBtD,CAAAA,EAIlEA,GAAMsD,EAAuB7E,QAASmB,OAAS,GAE/C0D,EAAKyB,KAAWrG,EAAOsB,CAAAA,CAAAA,GAG3BA,GAEH,CAAA,EA8CG4E,GAAN,MAAMA,CAAAA,CAwBJ,IAAA,MAAIN,CAIF,OAAOxD,KAAKsD,MAAUE,MAAiBxD,KAAKkE,IAC7C,CAeD,YACEC,EACAC,EACA3B,EACA3C,EAAAA,CA/COE,KAAItC,KA70BI,EA+0BjBsC,KAAgBqE,KAAYnG,EA+B5B8B,KAAwBoD,KAAAA,OAgBtBpD,KAAKsE,KAAcH,EACnBnE,KAAKuE,KAAYH,EACjBpE,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EAIfE,KAAKkE,KAAgBpE,GAAS0E,aAAAA,EAK/B,CAoBD,IAAA,YAAIjB,CACF,IAAIA,EAAwBvD,KAAKsE,KAAaf,WACxCd,EAASzC,KAAKsD,KAUpB,OAREb,IAQF,QAPEc,GAAYzC,WAAa,KAKzByC,EAAcd,EAAwCc,YAEjDA,CACR,CAMD,IAAA,WAAIY,CACF,OAAOnE,KAAKsE,IACb,CAMD,IAAA,SAAIF,CACF,OAAOpE,KAAKuE,IACb,CAED,KAAW7H,EAAgB+H,EAAmCzE,KAAAA,CAM5DtD,EAAQ6F,GAAiBvC,KAAMtD,EAAO+H,CAAAA,EAClChI,GAAYC,CAAAA,EAIVA,IAAUwB,GAAWxB,GAAS,MAAQA,IAAU,IAC9CsD,KAAKqE,OAAqBnG,GAS5B8B,KAAK0E,KAAAA,EAEP1E,KAAKqE,KAAmBnG,GACfxB,IAAUsD,KAAKqE,MAAoB3H,IAAUsB,GACtDgC,KAAK2E,EAAYjI,CAAAA,EAGTA,EAAqC,aAH5BA,OAInBsD,KAAK4E,EAAsBlI,CAAAA,EACjBA,EAAeoE,WADEpE,OAiB3BsD,KAAK6E,EAAYnI,CAAAA,EACRG,GAAWH,CAAAA,EACpBsD,KAAK8E,EAAgBpI,CAAAA,EAGrBsD,KAAK2E,EAAYjI,CAAAA,CAEpB,CAEO,EAAwBqD,EAAAA,CAC9B,OAAiBC,KAAKsE,KAAaf,WAAawB,aAC9ChF,EACAC,KAAKuE,IAAAA,CAER,CAEO,EAAY7H,EAAAA,CACdsD,KAAKqE,OAAqB3H,IAC5BsD,KAAK0E,KAAAA,EAoCL1E,KAAKqE,KAAmBrE,KAAKgF,EAAQtI,CAAAA,EAExC,CAEO,EAAYA,EAAAA,CAKhBsD,KAAKqE,OAAqBnG,GAC1BzB,GAAYuD,KAAKqE,IAAAA,EAECrE,KAAKsE,KAAaP,YAcrB5B,KAAOzF,EAsBpBsD,KAAK6E,EAAYxI,GAAE4I,eAAevI,CAAAA,CAAAA,EAUtCsD,KAAKqE,KAAmB3H,CACzB,CAEO,EACNwI,EAAAA,CAGA,GAAA,CAAMtH,OAACA,EAAQC,WAAgBH,CAAAA,EAAQwH,EAKjChC,EACY,OAATxF,GAAS,SACZsC,KAAKmF,KAAcD,CAAAA,GAClBxH,EAAK2C,KADa6E,SAEhBxH,EAAK2C,GAAKT,GAASU,cAClB/B,GAAwBb,EAAK0H,EAAG1H,EAAK0H,EAAE,CAAA,CAAA,EACvCpF,KAAKF,OAAAA,GAETpC,GAEN,GAAKsC,KAAKqE,MAAuChB,OAAeH,EAU7DlD,KAAKqE,KAAsCgB,EAAQzH,CAAAA,MAC/C,CACL,IAAM0H,EAAW,IAAIrC,GAAiBC,EAAsBlD,IAAAA,EACtDyD,EAAW6B,EAASC,EAAOvF,KAAKF,OAAAA,EAWtCwF,EAASD,EAAQzH,CAAAA,EAWjBoC,KAAK6E,EAAYpB,CAAAA,EACjBzD,KAAKqE,KAAmBiB,CACzB,CACF,CAID,KAAcJ,EAAAA,CACZ,IAAIhC,EAAW/E,GAAcqH,IAAIN,EAAOvH,OAAAA,EAIxC,OAHIuF,IAGJ,QAFE/E,GAAcsH,IAAIP,EAAOvH,QAAUuF,EAAW,IAAItD,GAASsF,CAAAA,CAAAA,EAEtDhC,CACR,CAEO,EAAgBxG,EAAAA,CAWjBC,GAAQqD,KAAKqE,IAAAA,IAChBrE,KAAKqE,KAAmB,CAAA,EACxBrE,KAAK0E,KAAAA,GAKP,IAAMgB,EAAY1F,KAAKqE,KAEnBsB,EADA/B,EAAY,EAGhB,QAAWgC,KAAQlJ,EACbkH,IAAc8B,EAAU5G,OAK1B4G,EAAU/F,KACPgG,EAAW,IAAI7B,EACd9D,KAAKgF,EAAQzI,GAAAA,CAAAA,EACbyD,KAAKgF,EAAQzI,GAAAA,CAAAA,EACbyD,KACAA,KAAKF,OAAAA,CAAAA,EAKT6F,EAAWD,EAAU9B,CAAAA,EAEvB+B,EAAS1B,KAAW2B,CAAAA,EACpBhC,IAGEA,EAAY8B,EAAU5G,SAExBkB,KAAK0E,KACHiB,GAAiBA,EAASpB,KAAYR,YACtCH,CAAAA,EAGF8B,EAAU5G,OAAS8E,EAEtB,CAaD,KACEiC,EAA+B7F,KAAKsE,KAAaP,YACjD+B,EAAAA,CAGA,IADA9F,KAAK+F,OAAAA,GAA4B,GAAaD,CAAAA,EACvCD,GAASA,IAAU7F,KAAKuE,MAAW,CACxC,IAAMyB,EAASH,EAAQ9B,YACjB8B,EAAoBI,OAAAA,EAC1BJ,EAAQG,CACT,CACF,CAQD,aAAaxB,EAAAA,CACPxE,KAAKsD,OADEkB,SAETxE,KAAKkE,KAAgBM,EACrBxE,KAAK+F,OAA4BvB,CAAAA,EAOpC,CAAA,EA2BG3C,GAAN,KAAMA,CA2BJ,IAAA,SAAIE,CACF,OAAO/B,KAAKkG,QAAQnE,OACrB,CAGD,IAAA,MAAIyB,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,YACE0C,EACAlF,EACArD,EACA8E,EACA3C,EAAAA,CAxCOE,KAAItC,KA9xCQ,EA8yCrBsC,KAAgBqE,KAA6BnG,EAM7C8B,KAAwBoD,KAAAA,OAoBtBpD,KAAKkG,QAAUA,EACflG,KAAKgB,KAAOA,EACZhB,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EACXnC,EAAQmB,OAAS,GAAKnB,EAAQ,CAAA,IAAO,IAAMA,EAAQ,CAAA,IAAO,IAC5DqC,KAAKqE,KAAuBzH,MAAMe,EAAQmB,OAAS,CAAA,EAAGqH,KAAK,IAAIC,MAAAA,EAC/DpG,KAAKrC,QAAUA,GAEfqC,KAAKqE,KAAmBnG,CAK3B,CAwBD,KACExB,EACA+H,EAAmCzE,KACnCqG,EACAC,EAAAA,CAEA,IAAM3I,EAAUqC,KAAKrC,QAGjB4I,EAAAA,GAEJ,GAAI5I,IAAJ,OAEEjB,EAAQ6F,GAAiBvC,KAAMtD,EAAO+H,EAAiB,CAAA,EACvD8B,EAAAA,CACG9J,GAAYC,CAAAA,GACZA,IAAUsD,KAAKqE,MAAoB3H,IAAUsB,EAC5CuI,IACFvG,KAAKqE,KAAmB3H,OAErB,CAEL,IAAMkB,EAASlB,EAGXwC,EAAGsH,EACP,IAHA9J,EAAQiB,EAAQ,CAAA,EAGXuB,EAAI,EAAGA,EAAIvB,EAAQmB,OAAS,EAAGI,IAClCsH,EAAIjE,GAAiBvC,KAAMpC,EAAOyI,EAAcnH,CAAAA,EAAIuF,EAAiBvF,CAAAA,EAEjEsH,IAAMxI,IAERwI,EAAKxG,KAAKqE,KAAoCnF,CAAAA,GAEhDqH,IAAAA,CACG9J,GAAY+J,CAAAA,GAAMA,IAAOxG,KAAKqE,KAAoCnF,CAAAA,EACjEsH,IAAMtI,EACRxB,EAAQwB,EACCxB,IAAUwB,IACnBxB,IAAU8J,GAAK,IAAM7I,EAAQuB,EAAI,CAAA,GAIlCc,KAAKqE,KAAoCnF,CAAAA,EAAKsH,CAElD,CACGD,GAAAA,CAAWD,GACbtG,KAAKyG,EAAa/J,CAAAA,CAErB,CAGD,EAAaA,EAAAA,CACPA,IAAUwB,EACN8B,KAAKkG,QAAqBpE,gBAAgB9B,KAAKgB,IAAAA,EAoB/ChB,KAAKkG,QAAqBQ,aAC9B1G,KAAKgB,KACJtE,GAAS,EAAA,CAGf,CAAA,EAIGgF,GAAN,cAA2BG,EAAAA,CAA3B,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAItC,KA97CF,CAu9CrB,CAtBU,EAAahB,EAAAA,CAoBnBsD,KAAKkG,QAAgBlG,KAAKgB,IAAAA,EAAQtE,IAAUwB,EAAAA,OAAsBxB,CACpE,CAAA,EAIGiF,GAAN,cAAmCE,EAAAA,CAAnC,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAItC,KA19CO,CA2+C9B,CAdU,EAAahB,EAAAA,CASdsD,KAAKkG,QAAqBS,gBAC9B3G,KAAKgB,KAAAA,CAAAA,CACHtE,GAASA,IAAUwB,CAAAA,CAExB,CAAA,EAkBG0D,GAAN,cAAwBC,EAAAA,CAGtB,YACEqE,EACAlF,EACArD,EACA8E,EACA3C,EAAAA,CAEA8G,MAAMV,EAASlF,EAAMrD,EAAS8E,EAAQ3C,CAAAA,EATtBE,KAAItC,KA5/CL,CA8gDhB,CAKQ,KACPmJ,EACApC,EAAmCzE,KAAAA,CAInC,IAFA6G,EACEtE,GAAiBvC,KAAM6G,EAAapC,EAAiB,CAAA,GAAMvG,KACzCF,EAClB,OAEF,IAAM8I,EAAc9G,KAAKqE,KAInB0C,EACHF,IAAgB3I,GAAW4I,IAAgB5I,GAC3C2I,EAAyCG,UACvCF,EAAyCE,SAC3CH,EAAyCI,OACvCH,EAAyCG,MAC3CJ,EAAyCK,UACvCJ,EAAyCI,QAIxCC,EACJN,IAAgB3I,IACf4I,IAAgB5I,GAAW6I,GAa1BA,GACF/G,KAAKkG,QAAQkB,oBACXpH,KAAKgB,KACLhB,KACA8G,CAAAA,EAGAK,GAIFnH,KAAKkG,QAAQmB,iBACXrH,KAAKgB,KACLhB,KACA6G,CAAAA,EAGJ7G,KAAKqE,KAAmBwC,CACzB,CAED,YAAYS,EAAAA,CAC2B,OAA1BtH,KAAKqE,MAAqB,WACnCrE,KAAKqE,KAAiBkD,KAAKvH,KAAKF,SAAS0H,MAAQxH,KAAKkG,QAASoB,CAAAA,EAE9DtH,KAAKqE,KAAyCoD,YAAYH,CAAAA,CAE9D,CAAA,EAIGtD,GAAN,KAAMA,CAiBJ,YACSkC,EACPzD,EACA3C,EAAAA,CAFOE,KAAOkG,QAAPA,EAjBAlG,KAAItC,KAxlDM,EAomDnBsC,KAAwBoD,KAAAA,OAStBpD,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,CAChB,CAGD,IAAA,MAAI0D,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,KAAW9G,EAAAA,CAQT6F,GAAiBvC,KAAMtD,CAAAA,CACxB,CAAA,EAqBU,IAoBPgL,GAEFC,GAAOC,uBACXF,KAAkBG,GAAUC,EAAAA,GAI3BH,GAAOI,kBAAoB,CAAA,GAAIC,KAAK,OAAA,EAkCxB,IAAAC,GAAS,CACpBC,EACAC,EACAC,IAAAA,CAUA,IAAMC,EAAgBD,GAASE,cAAgBH,EAG3CI,EAAmBF,EAAkC,WAUzD,GAAIE,IAAJ,OAAwB,CACtB,IAAMC,EAAUJ,GAASE,cAAgB,KAGxCD,EAAkC,WAAIE,EAAO,IAAIT,GAChDK,EAAUM,aAAaC,GAAAA,EAAgBF,CAAAA,EACvCA,EAAAA,OAEAJ,GAAW,CAAE,CAAA,CAEhB,CAWD,OAVAG,EAAKI,KAAWT,CAAAA,EAUTK,CAAgB,EC3kEnB,IAAOK,EAAP,cAA0BC,CAAAA,CAAhC,aAAAC,CAAAA,MAAAA,GAAAA,SAAAA,EAOWC,KAAAC,cAA+B,CAACC,KAAMF,IAAAA,EAEvCA,KAAWG,KAAAA,MA8FpB,CAzFoB,kBAAAC,CACjB,IAAMC,EAAaC,MAAMF,iBAAAA,EAOzB,OADAJ,KAAKC,cAAcM,eAAiBF,EAAYG,WACzCH,CACR,CASkB,OAAOI,EAAAA,CAIxB,IAAMC,EAAQV,KAAKW,OAAAA,EACdX,KAAKY,aACRZ,KAAKC,cAAcY,YAAcb,KAAKa,aAExCP,MAAMQ,OAAOL,CAAAA,EACbT,KAAKG,KAAcQ,GAAOD,EAAOV,KAAKK,WAAYL,KAAKC,aAAAA,CACxD,CAsBQ,mBAAAc,CACPT,MAAMS,kBAAAA,EACNf,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CAqBQ,sBAAAC,CACPX,MAAMW,qBAAAA,EACNjB,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CASS,QAAAL,CACR,OAAOO,CACR,CAAA,EApGMrB,EAAgB,cAAA,GA8GxBA,EAC2B,WAAA,EAAA,GAI5BsB,WAAWC,2BAA2B,CAACvB,WAAAA,CAAAA,CAAAA,EAGvC,IAAMwB,GAEFF,WAAWG,0BACfD,KAAkB,CAACxB,WAAAA,CAAAA,CAAAA,GAmClB0B,WAAWC,qBAAuB,CAAA,GAAIC,KAAK,OAAA,EC9O/B,IAAAC,GAAW,CACtBC,UAAW,EACXC,MAAO,EACPC,SAAU,EACVC,kBAAmB,EACnBC,MAAO,EACPC,QAAS,CAAA,EAoCEC,GACgBC,GAC3B,IAAIC,KAAsE,CAExEC,gBAAqBF,EACrBC,OAAAA,CAAAA,GAQkBE,GARlBF,KAQkBE,CAkBpB,YAAYC,EAAAA,CAAuB,CAGnC,IAAA,MAAIC,CACF,OAAOC,KAAKC,KAASF,IACtB,CAGD,KACEG,EACAC,EACAC,EAAAA,CAEAJ,KAAKK,KAASH,EACdF,KAAKC,KAAWE,EAChBH,KAAKM,KAAmBF,CACzB,CAED,KAAUF,EAAYK,EAAAA,CACpB,OAAOP,KAAKQ,OAAON,EAAMK,CAAAA,CAC1B,CAID,OAAOE,EAAaF,EAAAA,CAClB,OAAOP,KAAKU,OAAAA,GAAUH,CAAAA,CACvB,CAAA,ECjIG,IAAOI,GAAP,cAAmCC,EAAAA,CAOvC,YAAYC,EAAAA,CAEV,GADAC,MAAMD,CAAAA,EAJAE,KAAMC,GAAYC,EAKpBJ,EAASK,OAASC,GAASC,MAC7B,MAAUC,MAELN,KAAKO,YAA2CC,cADnD,uCAAA,CAKL,CAED,OAAOC,EAAAA,CACL,GAAIA,IAAUP,GAAWO,GAAS,KAEhC,OADAT,KAAKU,GAAAA,OACGV,KAAKC,GAASQ,EAExB,GAAIA,IAAUE,EACZ,OAAOF,EAET,GAAoB,OAATA,GAAS,SAClB,MAAUH,MAELN,KAAKO,YAA2CC,cADnD,mCAAA,EAKJ,GAAIC,IAAUT,KAAKC,GACjB,OAAOD,KAAKU,GAEdV,KAAKC,GAASQ,EACd,IAAMG,EAAU,CAACH,CAAAA,EAKjB,OAHCG,EAAgBC,IAAMD,EAGfZ,KAAKU,GAAkB,CAI7BI,WAAiBd,KAAKO,YACnBQ,WACHH,QAAAA,EACAI,OAAQ,CAAA,CAAA,CAEX,CAAA,EAlDMpB,GAAaY,cAAG,aAChBZ,GAAUmB,WAJC,EAAA,IAkEPE,GAAaC,GAAUtB,EAAAA,ECTpC,IAuBMuB,GAAkD,CACtDC,UAAAA,GACAC,KAAMC,OACNC,UAAWC,GACXC,QAAAA,GACAC,WAAYC,EAAAA,EAaDC,GAAmB,CAC9BC,EAA+BV,GAC/BW,EACAC,IAAAA,CAEA,GAAA,CAAMC,KAACA,EAAIC,SAAEA,CAAAA,EAAYF,EAarBG,EAAaC,WAAWC,oBAAoBC,IAAIJ,CAAAA,EAMpD,GALIC,IAKJ,QAJEC,WAAWC,oBAAoBE,IAAIL,EAAWC,EAAa,IAAIK,GAAAA,EAEjEL,EAAWI,IAAIP,EAAQS,KAAMX,CAAAA,EAEzBG,IAAS,WAAY,CAIvB,GAAA,CAAMQ,KAACA,CAAAA,EAAQT,EACf,MAAO,CACL,IAA2BU,EAAAA,CACzB,IAAMC,EACJZ,EACAO,IAAIM,KAAKC,IAAAA,EACVd,EAA8CQ,IAAIK,KACjDC,KACAH,CAAAA,EAEFG,KAAKC,cAAcL,EAAME,EAAUb,CAAAA,CACpC,EACD,KAA4BY,EAAAA,CAI1B,OAHIA,IAGJ,QAFEG,KAAKE,EAAiBN,EAAAA,OAAiBX,CAAAA,EAElCY,CACR,CAAA,CAEJ,CAAM,GAAIT,IAAS,SAAU,CAC5B,GAAA,CAAMQ,KAACA,CAAAA,EAAQT,EACf,OAAO,SAAiCgB,EAAAA,CACtC,IAAML,EAAWE,KAAKJ,CAAAA,EACrBV,EAA8Ba,KAAKC,KAAMG,CAAAA,EAC1CH,KAAKC,cAAcL,EAAME,EAAUb,CAAAA,CACrC,CACD,CACD,MAAUmB,MAAM,mCAAmChB,CAAAA,CAAO,EAmCtD,SAAUiB,EAASpB,EAAAA,CACvB,MAAO,CACLqB,EAIAC,IAO2B,OAAlBA,GAAkB,SACrBvB,GACEC,EACAqB,EAGAC,CAAAA,GAtJW,CACrBtB,EACAuB,EACAZ,IAAAA,CAEA,IAAMa,EAAiBD,EAAMC,eAAeb,CAAAA,EAU5C,OATCY,EAAME,YAAuCC,eAC5Cf,EACAa,EAAiB,CAAA,GAAIxB,EAAS2B,QAAAA,EAAS,EAAQ3B,CAAAA,EAO1CwB,EACHI,OAAOC,yBAAyBN,EAAOZ,CAAAA,EAAAA,MAC9B,GAwIHX,EACAqB,EACAC,CAAAA,CAIZ,CCjOA,IAAAQ,GAAsB,SAStB,SAASC,GACPC,EACAC,EACa,CACb,IAAMC,EAAK,SAAS,cAAcF,CAAQ,EAC1C,OAAW,CAACG,EAAKC,CAAK,IAAK,OAAO,QAAQH,CAAK,EAAG,CAEhD,IAAMI,EAAWF,EAAI,QAAQ,KAAM,GAAG,EAClCC,IAAU,MAAMF,EAAG,aAAaG,EAAUD,CAAK,CACrD,CACA,OAAOF,CACT,CASA,IAAMI,EAAN,cAA2BC,CAAW,CACpC,kBAAmB,CACjB,OAAO,IACT,CACF,EAWA,SAASC,GAAuB,CAC9B,SAAAC,EAAW,GACX,QAAAC,EACA,OAAAC,EAAS,SACX,EAA6B,CAC3B,SAAS,cACP,IAAI,YAAY,uBAAwB,CACtC,OAAQ,CAAE,SAAUF,EAAU,QAASC,EAAS,OAAQC,CAAO,CACjE,CAAC,CACH,CACF,CAEA,eAAeC,GAAmBC,EAAgC,CAChE,GAAK,OAAO,OACPA,EAEL,GAAI,CACF,MAAM,OAAO,MAAM,wBAAwBA,CAAI,CACjD,OAASC,EAAa,CACpBN,GAAuB,CACrB,OAAQ,QACR,QAAS,uCAAuCM,CAAW,EAC7D,CAAC,CACH,CACF,CAwBA,IAAMC,MAAY,GAAAC,SAAU,EAC5BD,GAAU,QAAQ,sBAAuB,CAACE,EAAMC,IAAS,CACvD,GAAID,EAAK,UAAYA,EAAK,WAAa,SAAU,CAC/C,IAAME,EACJF,EAAK,aAAa,MAAM,IAAM,oBAC9BA,EAAK,aAAa,UAAU,IAAM,KAEpCC,EAAK,YAAY,OAAYC,CAC/B,CACF,CAAC,EClDD,IAAMC,GAAmB,qBACnBC,GAAwB,qBACxBC,GAAoB,sBACpBC,GAAiB,mBACjBC,GAAqB,uBAErBC,GAAQ,CACZ,MACE,y8BAEF,UACE,wfACJ,EAEMC,GAAN,cAA0BC,CAAa,CAAvC,kCACc,aAAU,MACmB,iBACvC,WAC0C,eAAY,GAC5C,UAAO,GAEnB,QAAS,CAGP,IAAMC,EADU,KAAK,QAAQ,KAAK,EAAE,SAAW,EACxBH,GAAM,UAAY,KAAK,MAAQA,GAAM,MAE5D,OAAOI;AAAA,kCACuBC,GAAWF,CAAI,CAAC;AAAA;AAAA,kBAEhC,KAAK,OAAO;AAAA,uBACP,KAAK,WAAW;AAAA,qBAClB,KAAK,SAAS;AAAA;AAAA,2BAER,KAAKG,GAAiB,KAAK,IAAI,CAAC;AAAA,uBACpC,KAAKC,GAA2B,KAAK,IAAI,CAAC;AAAA;AAAA,KAG/D,CAEAD,IAAyB,CAClB,KAAK,WAAW,KAAKC,GAA2B,CACvD,CAEAA,IAAmC,CACjC,KAAK,iBAAiB,+BAA+B,EAAE,QAASC,GAAO,CAErE,GADI,EAAEA,aAAc,cAChBA,EAAG,aAAa,UAAU,EAAG,OAEjCA,EAAG,aAAa,WAAY,GAAG,EAC/BA,EAAG,aAAa,OAAQ,QAAQ,EAEhC,IAAMC,EAAaD,EAAG,QAAQ,YAAcA,EAAG,YAC/CA,EAAG,aAAa,aAAc,wBAAwBC,CAAU,EAAE,CACpE,CAAC,CACH,CACF,EAxCcC,EAAA,CAAXC,EAAS,GADNV,GACQ,uBAC6BS,EAAA,CAAxCC,EAAS,CAAE,UAAW,cAAe,CAAC,GAFnCV,GAEqC,2BAEGS,EAAA,CAA3CC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GAJtCV,GAIwC,yBAChCS,EAAA,CAAXC,EAAS,GALNV,GAKQ,oBAsCd,IAAMW,GAAN,cAA8BV,CAAa,CAA3C,kCACc,aAAU,MAEtB,QAAS,CACP,OAAOE;AAAA;AAAA,kBAEO,KAAK,OAAO;AAAA;AAAA;AAAA,KAI5B,CACF,EAVcM,EAAA,CAAXC,EAAS,GADNC,GACQ,uBAYd,IAAMC,GAAN,cAA2BX,CAAa,CACtC,QAAS,CACP,OAAOE,IACT,CACF,EAOMU,GAAN,cAAwBZ,CAAa,CAArC,kCACE,KAAQ,UAAY,GAER,iBAAc,qBAG1B,IAAI,UAAW,CACb,OAAO,KAAK,SACd,CAEA,IAAI,SAASa,EAAgB,CAC3B,IAAMC,EAAW,KAAK,UAClBD,IAAUC,IAId,KAAK,UAAYD,EACjBA,EACI,KAAK,aAAa,WAAY,EAAE,EAChC,KAAK,gBAAgB,UAAU,EAEnC,KAAK,cAAc,WAAYC,CAAQ,EACvC,KAAKC,GAAS,EAChB,CAEA,yBACEC,EACAC,EACAJ,EACA,CACA,MAAM,yBAAyBG,EAAMC,EAAMJ,CAAK,EAC5CG,IAAS,aACX,KAAK,SAAWH,IAAU,KAE9B,CAEA,IAAY,UAAgC,CAC1C,OAAO,KAAK,cAAc,UAAU,CACtC,CAEA,IAAY,OAAgB,CAC1B,OAAO,KAAK,SAAS,KACvB,CAEA,IAAY,cAAwB,CAClC,OAAO,KAAK,MAAM,KAAK,EAAE,SAAW,CACtC,CAEA,IAAY,QAA4B,CACtC,OAAO,KAAK,cAAc,QAAQ,CACpC,CAEA,QAAS,CACP,IAAMZ,EACJ,yTAEF,OAAOC;AAAA;AAAA,cAEG,KAAK,EAAE;AAAA;AAAA;AAAA,uBAGE,KAAK,WAAW;AAAA,mBACpB,KAAKgB,EAAU;AAAA,iBACjB,KAAKH,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAOb,KAAKI,EAAU;AAAA;AAAA,UAEtBhB,GAAWF,CAAI,CAAC;AAAA;AAAA,KAGxB,CAGAiB,GAAW,EAAwB,CACjB,EAAE,OAAS,SAAW,CAAC,EAAE,UAC1B,CAAC,KAAK,eACnB,EAAE,eAAe,EACjB,KAAKC,GAAW,EAEpB,CAEAJ,IAAiB,CACf,KAAK,OAAO,SAAW,KAAK,SACxB,GACA,KAAK,MAAM,KAAK,EAAE,SAAW,CACnC,CAGU,cAAqB,CAC7B,KAAKA,GAAS,CAChB,CAEAI,GAAWC,EAAQ,GAAY,CAE7B,GADI,KAAK,cACL,KAAK,SAAU,OAEnB,OAAO,MAAM,cAAe,KAAK,GAAI,KAAK,MAAO,CAAE,SAAU,OAAQ,CAAC,EAGtE,IAAMC,EAAY,IAAI,YAAY,wBAAyB,CACzD,OAAQ,CAAE,QAAS,KAAK,MAAO,KAAM,MAAO,EAC5C,QAAS,GACT,SAAU,EACZ,CAAC,EACD,KAAK,cAAcA,CAAS,EAE5B,KAAK,cAAc,EAAE,EACrB,KAAK,SAAW,GAEZD,GAAO,KAAK,SAAS,MAAM,CACjC,CAEA,cACEP,EACA,CAAE,OAAAS,EAAS,GAAO,MAAAF,EAAQ,EAAM,EAA8B,CAAC,EACzD,CAEN,IAAMN,EAAW,KAAK,SAAS,MAE/B,KAAK,SAAS,MAAQD,EAGtB,IAAMU,EAAa,IAAI,MAAM,QAAS,CAAE,QAAS,GAAM,WAAY,EAAK,CAAC,EACzE,KAAK,SAAS,cAAcA,CAAU,EAElCD,IACF,KAAKH,GAAW,EAAK,EACjBL,GAAU,KAAK,cAAcA,CAAQ,GAGvCM,GACF,KAAK,SAAS,MAAM,CAExB,CACF,EAxIcZ,EAAA,CAAXC,EAAS,GAHNG,GAGQ,2BAGRJ,EAAA,CADHC,EAAS,CAAE,KAAM,OAAQ,CAAC,GALvBG,GAMA,wBAuIN,IAAMY,GAAN,cAA4BxB,CAAa,CAAzC,kCAC6C,mBAAgB,GAG3D,IAAY,OAAmB,CAC7B,OAAO,KAAK,cAAcJ,EAAc,CAC1C,CAEA,IAAY,UAAyB,CACnC,OAAO,KAAK,cAAcD,EAAiB,CAC7C,CAEA,IAAY,aAAkC,CAC5C,IAAM8B,EAAO,KAAK,SAAS,iBAC3B,OAAOA,GAA+B,IACxC,CAEA,QAAS,CACP,OAAOvB,IACT,CAEA,mBAA0B,CACxB,MAAM,kBAAkB,EAIxB,IAAIwB,EAAW,KAAK,cAA2B,KAAK,EAC/CA,IACHA,EAAWC,GAAc,MAAO,CAC9B,MAAO,yBACT,CAAC,EACD,KAAK,MAAM,sBAAsB,WAAYD,CAAQ,GAGvD,KAAK,sBAAwB,IAAI,qBAC9BE,GAAY,CACX,IAAMC,EAAgB,KAAK,MAAM,cAAc,UAAU,EACzD,GAAI,CAACA,EAAe,OACpB,IAAMC,EAAYF,EAAQ,CAAC,GAAG,oBAAsB,EACpDC,EAAc,UAAU,OAAO,SAAUC,CAAS,CACpD,EACA,CACE,UAAW,CAAC,EAAG,CAAC,EAChB,WAAY,KACd,CACF,EAEA,KAAK,sBAAsB,QAAQJ,CAAQ,CAC7C,CAEA,cAAqB,CAEd,KAAK,WAEV,KAAK,iBAAiB,wBAAyB,KAAKK,EAAY,EAChE,KAAK,iBAAiB,4BAA6B,KAAKC,EAAS,EACjE,KAAK,iBACH,kCACA,KAAKC,EACP,EACA,KAAK,iBAAiB,4BAA6B,KAAKC,EAAQ,EAChE,KAAK,iBACH,+BACA,KAAKC,EACP,EACA,KAAK,iBACH,oCACA,KAAKC,EACP,EACA,KAAK,iBAAiB,QAAS,KAAKC,EAAuB,EAC3D,KAAK,iBAAiB,UAAW,KAAKC,EAAyB,EACjE,CAEA,sBAA6B,CAC3B,MAAM,qBAAqB,EAE3B,KAAK,uBAAuB,WAAW,EACvC,KAAK,sBAAwB,OAE7B,KAAK,oBAAoB,wBAAyB,KAAKP,EAAY,EACnE,KAAK,oBAAoB,4BAA6B,KAAKC,EAAS,EACpE,KAAK,oBACH,kCACA,KAAKC,EACP,EACA,KAAK,oBAAoB,4BAA6B,KAAKC,EAAQ,EACnE,KAAK,oBACH,+BACA,KAAKC,EACP,EACA,KAAK,oBACH,oCACA,KAAKC,EACP,EACA,KAAK,oBAAoB,QAAS,KAAKC,EAAuB,EAC9D,KAAK,oBAAoB,UAAW,KAAKC,EAAyB,CACpE,CAGAP,GAAaQ,EAAmC,CAC9C,KAAKC,GAAeD,EAAM,MAAM,EAChC,KAAKE,GAAmB,CAC1B,CAGAT,GAAUO,EAAmC,CAC3C,KAAKC,GAAeD,EAAM,MAAM,CAClC,CAEAG,IAAqB,CACnB,KAAKC,GAAsB,EACtB,KAAK,MAAM,WACd,KAAK,MAAM,SAAW,GAE1B,CAEAH,GAAeI,EAAkBC,EAAW,GAAY,CACtD,KAAKH,GAAa,EAElB,IAAMI,EACJF,EAAQ,OAAS,OAASlD,GAAwBD,GAEhD,KAAK,gBACPmD,EAAQ,KAAOA,EAAQ,MAAQ,KAAK,eAGtC,IAAMG,EAAMpB,GAAcmB,EAAUF,CAAO,EAC3C,KAAK,SAAS,YAAYG,CAAG,EAEzBF,GACF,KAAKG,GAAiB,CAE1B,CAGAP,IAA2B,CAKzB,IAAMG,EAAUjB,GAAclC,GAJN,CACtB,QAAS,GACT,KAAM,WACR,CAC+D,EAC/D,KAAK,SAAS,YAAYmD,CAAO,CACnC,CAEAD,IAA8B,CACZ,KAAK,aAAa,SACpB,KAAK,aAAa,OAAO,CACzC,CAEAV,GAAeM,EAAmC,CAChD,KAAKU,GAAoBV,EAAM,MAAM,CACvC,CAEAU,GAAoBL,EAAwB,CACtCA,EAAQ,aAAe,iBACzB,KAAKJ,GAAeI,EAAS,EAAK,EAGpC,IAAMM,EAAc,KAAK,YACzB,GAAI,CAACA,EAAa,MAAM,IAAI,MAAM,sCAAsC,EAExE,GAAIN,EAAQ,aAAe,gBAAiB,CAC1CM,EAAY,aAAa,YAAa,EAAE,EACxC,MACF,CAEA,IAAMC,EACJP,EAAQ,YAAc,SAClBM,EAAY,aAAa,SAAS,EAAIN,EAAQ,QAC9CA,EAAQ,QAEdM,EAAY,aAAa,UAAWC,CAAO,EAEvCP,EAAQ,aAAe,gBACzB,KAAK,aAAa,gBAAgB,WAAW,EAC7C,KAAKI,GAAiB,EAE1B,CAEAd,IAAiB,CACf,KAAK,SAAS,UAAY,EAC5B,CAEAC,GAAmBI,EAA2C,CAC5D,GAAM,CAAE,MAAA1B,EAAO,YAAAuC,EAAa,OAAA9B,EAAQ,MAAAF,CAAM,EAAImB,EAAM,OAChD1B,IAAU,QACZ,KAAK,MAAM,cAAcA,EAAO,CAAE,OAAAS,EAAQ,MAAAF,CAAM,CAAC,EAE/CgC,IAAgB,SAClB,KAAK,MAAM,YAAcA,EAE7B,CAEAf,GAAwB,EAAqB,CAC3C,KAAKgB,GAAwB,CAAC,CAChC,CAEAf,GAA0B,EAAwB,EACzB,EAAE,MAAQ,SAAW,EAAE,MAAQ,MAGtD,KAAKe,GAAwB,CAAC,CAChC,CAEAA,GAAwB,EAAqC,CAC3D,GAAM,CAAE,WAAA9C,EAAY,OAAAe,CAAO,EAAI,KAAKgC,GAAe,EAAE,MAAM,EAC3D,GAAI,CAAC/C,EAAY,OAEjB,EAAE,eAAe,EAGjB,IAAMgD,EACJ,EAAE,SAAW,EAAE,QAAU,GAAO,EAAE,OAAS,GAAQjC,EAErD,KAAK,MAAM,cAAcf,EAAY,CACnC,OAAQgD,EACR,MAAO,CAACA,CACV,CAAC,CACH,CAEAD,GAAepD,EAGb,CACA,GAAI,EAAEA,aAAa,aAAc,MAAO,CAAC,EAEzC,IAAMI,EAAKJ,EAAE,QAAQ,gCAAgC,EACrD,OAAMI,aAAc,YAGlBA,EAAG,UAAU,SAAS,YAAY,GAClCA,EAAG,QAAQ,aAAe,OAKrB,CACL,WAHiBA,EAAG,QAAQ,YAAcA,EAAG,aAGnB,OAC1B,OACEA,EAAG,UAAU,SAAS,QAAQ,GAC9BA,EAAG,QAAQ,mBAAqB,IAChCA,EAAG,QAAQ,mBAAqB,MACpC,EAV0B,CAAC,EALc,CAAC,CAgB5C,CAEA8B,IAAgC,CAC9B,KAAKO,GAAsB,EAC3B,KAAKK,GAAiB,CACxB,CAEAA,IAAyB,CACvB,KAAK,MAAM,SAAW,EACxB,CACF,EA5P6CxC,EAAA,CAA1CC,EAAS,CAAE,UAAW,gBAAiB,CAAC,GADrCe,GACuC,6BAgQxC,eAAe,IAAI7B,EAAiB,IACvC,eAAe,OAAOF,GAAkBM,EAAW,EACnD,eAAe,OAAOL,GAAuBgB,EAAe,EAC5D,eAAe,OAAOf,GAAmBgB,EAAY,EACrD,eAAe,OAAOf,GAAgBgB,EAAS,EAC/C,eAAe,OAAOf,GAAoB2B,EAAa,GAGzD,OAAO,MAAM,wBACX,mBACA,eAAgBoB,EAA2B,CACrCA,EAAQ,KAAK,WACf,MAAMY,GAAmBZ,EAAQ,IAAI,SAAS,EAGhD,IAAMa,EAAM,IAAI,YAAYb,EAAQ,QAAS,CAC3C,OAAQA,EAAQ,GAClB,CAAC,EAEKtC,EAAK,SAAS,eAAesC,EAAQ,EAAE,EAE7C,GAAI,CAACtC,EAAI,CACPoD,GAAuB,CACrB,OAAQ,QACR,QAAS;AAAA,YACLd,EAAQ,EAAE;AAAA,qBACDA,EAAQ,EAAE;AAAA,SAEzB,CAAC,EACD,MACF,CAEAtC,EAAG,cAAcmD,CAAG,CACtB,CACF", "names": ["entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayPop", "pop", "arrayPush", "push", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "numberIsNaN", "isNaN", "func", "thisArg", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "undefined", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "createDOMPurify", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "Element", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "MAX_NESTING_DEPTH", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "parentNode", "removeChild", "remove", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "elm", "__depth", "__removalCount", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHook", "entryPoint", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "attr", "forceKeepAttr", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "import_dompurify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "DOMPurify", "node", "data", "isOK", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "entries", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "renderDependencies", "evt", "showShinyClientMessage"] } diff --git a/shiny/www/py-shiny/markdown-stream/markdown-stream.js b/shiny/www/py-shiny/markdown-stream/markdown-stream.js index de3b69251..3bd62b913 100644 --- a/shiny/www/py-shiny/markdown-stream/markdown-stream.js +++ b/shiny/www/py-shiny/markdown-stream/markdown-stream.js @@ -1,42 +1,42 @@ -var Ta=Object.create;var zn=Object.defineProperty;var Xi=Object.getOwnPropertyDescriptor;var Na=Object.getOwnPropertyNames;var wa=Object.getPrototypeOf,Sa=Object.prototype.hasOwnProperty;var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Aa=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Na(e))!Sa.call(t,r)&&r!==n&&zn(t,r,{get:()=>e[r],enumerable:!(i=Xi(e,r))||i.enumerable});return t};var Fn=(t,e,n)=>(n=t!=null?Ta(wa(t)):{},Aa(e||!t||!t.__esModule?zn(n,"default",{value:t,enumerable:!0}):n,t));var Ge=(t,e,n,i)=>{for(var r=i>1?void 0:i?Xi(e,n):e,o=t.length-1,s;o>=0;o--)(s=t[o])&&(r=(i?s(e,n,r):s(r))||r);return i&&r&&zn(e,n,r),r};var _r=W((Ut,Xn)=>{(function(e,n){typeof Ut=="object"&&typeof Xn=="object"?Xn.exports=n():typeof define=="function"&&define.amd?define([],n):typeof Ut=="object"?Ut.ClipboardJS=n():e.ClipboardJS=n()})(Ut,function(){return function(){var t={686:function(i,r,o){"use strict";o.d(r,{default:function(){return I}});var s=o(279),a=o.n(s),c=o(370),d=o.n(c),l=o(817),g=o.n(l);function p(y){try{return document.execCommand(y)}catch{return!1}}var f=function(_){var E=g()(_);return p("cut"),E},b=f;function w(y){var _=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[_?"right":"left"]="-9999px";var k=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(k,"px"),E.setAttribute("readonly",""),E.value=y,E}var A=function(_,E){var k=w(_);E.container.appendChild(k);var $=g()(k);return p("copy"),k.remove(),$},z=function(_){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},k="";return typeof _=="string"?k=A(_,E):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_?.type)?k=A(_.value,E):(k=g()(_),p("copy")),k},Y=z;function C(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(E){return typeof E}:C=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},C(y)}var M=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=_.action,k=E===void 0?"copy":E,$=_.container,D=_.target,ee=_.text;if(k!=="copy"&&k!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(D!==void 0)if(D&&C(D)==="object"&&D.nodeType===1){if(k==="copy"&&D.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(k==="cut"&&(D.hasAttribute("readonly")||D.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return Y(ee,{container:$});if(D)return k==="cut"?b(D):Y(D,{container:$})},Z=M;function G(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(E){return typeof E}:G=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},G(y)}function B(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")}function ne(y,_){for(var E=0;E<_.length;E++){var k=_[E];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(y,k.key,k)}}function v(y,_,E){return _&&ne(y.prototype,_),E&&ne(y,E),y}function le(y,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");y.prototype=Object.create(_&&_.prototype,{constructor:{value:y,writable:!0,configurable:!0}}),_&&re(y,_)}function re(y,_){return re=Object.setPrototypeOf||function(k,$){return k.__proto__=$,k},re(y,_)}function ue(y){var _=oe();return function(){var k=he(y),$;if(_){var D=he(this).constructor;$=Reflect.construct(k,arguments,D)}else $=k.apply(this,arguments);return se(this,$)}}function se(y,_){return _&&(G(_)==="object"||typeof _=="function")?_:te(y)}function te(y){if(y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y}function oe(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function he(y){return he=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},he(y)}function m(y,_){var E="data-clipboard-".concat(y);if(_.hasAttribute(E))return _.getAttribute(E)}var T=function(y){le(E,y);var _=ue(E);function E(k,$){var D;return B(this,E),D=_.call(this),D.resolveOptions($),D.listenClick(k),D}return v(E,[{key:"resolveOptions",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof $.action=="function"?$.action:this.defaultAction,this.target=typeof $.target=="function"?$.target:this.defaultTarget,this.text=typeof $.text=="function"?$.text:this.defaultText,this.container=G($.container)==="object"?$.container:document.body}},{key:"listenClick",value:function($){var D=this;this.listener=d()($,"click",function(ee){return D.onClick(ee)})}},{key:"onClick",value:function($){var D=$.delegateTarget||$.currentTarget,ee=this.action(D)||"copy",Re=Z({action:ee,container:this.container,target:this.target(D),text:this.text(D)});this.emit(Re?"success":"error",{action:ee,text:Re,trigger:D,clearSelection:function(){D&&D.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function($){return m("action",$)}},{key:"defaultTarget",value:function($){var D=m("target",$);if(D)return document.querySelector(D)}},{key:"defaultText",value:function($){return m("text",$)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function($){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Y($,D)}},{key:"cut",value:function($){return b($)}},{key:"isSupported",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],D=typeof $=="string"?[$]:$,ee=!!document.queryCommandSupported;return D.forEach(function(Re){ee=ee&&!!document.queryCommandSupported(Re)}),ee}}]),E}(a()),I=T},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}i.exports=s},438:function(i,r,o){var s=o(828);function a(l,g,p,f,b){var w=d.apply(this,arguments);return l.addEventListener(p,w,b),{destroy:function(){l.removeEventListener(p,w,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(w){return a(w,g,p,f,b)}))}function d(l,g,p,f){return function(b){b.delegateTarget=s(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}},370:function(i,r,o){var s=o(879),a=o(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!s.string(f))throw new TypeError("Second argument must be a String");if(!s.fn(b))throw new TypeError("Third argument must be a Function");if(s.node(p))return d(p,f,b);if(s.nodeList(p))return l(p,f,b);if(s.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function d(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(w){w.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(w){w.removeEventListener(f,b)})}}}function g(p,f,b){return a(document.body,p,f,b)}i.exports=c},817:function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var c=window.getSelection(),d=document.createRange();d.selectNodeContents(o),c.removeAllRanges(),c.addRange(d),s=c.toString()}return s}i.exports=r},279:function(i){function r(){}r.prototype={on:function(o,s,a){var c=this.e||(this.e={});return(c[o]||(c[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var c=this;function d(){c.off(o,d),s.apply(a,arguments)}return d._=s,this.on(o,d,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),c=0,d=a.length;for(c;c{function Ar(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Ar(n)}),t}var ln=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function vr(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ze(t,...e){let n=Object.create(null);for(let i in t)n[i]=t[i];return e.forEach(function(i){for(let r in i)n[r]=i[r]}),n}var Fa="",Er=t=>!!t.scope,Ha=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},Jn=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=vr(e)}openNode(e){if(!Er(e))return;let n=Ha(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){Er(e)&&(this.buffer+=Fa)}value(){return this.buffer}span(e){this.buffer+=``}},yr=(t={})=>{let e={children:[]};return Object.assign(e,t),e},jn=class t{constructor(){this.rootNode=yr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let n=yr({scope:e});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(i=>this._walk(e,i)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},ei=class extends jn{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let i=e.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new Jn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Bt(t){return t?typeof t=="string"?t:t.source:null}function kr(t){return et("(?=",t,")")}function Ga(t){return et("(?:",t,")*")}function Ka(t){return et("(?:",t,")?")}function et(...t){return t.map(n=>Bt(n)).join("")}function qa(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function ni(...t){return"("+(qa(t).capture?"":"?:")+t.map(i=>Bt(i)).join("|")+")"}function xr(t){return new RegExp(t.toString()+"|").exec("").length-1}function Wa(t,e){let n=t&&t.exec(e);return n&&n.index===0}var Za=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ii(t,{joinWith:e}){let n=0;return t.map(i=>{n+=1;let r=n,o=Bt(i),s="";for(;o.length>0;){let a=Za.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+r):(s+=a[0],a[0]==="("&&n++)}return s}).map(i=>`(${i})`).join(e)}var Ya=/\b\B/,Or="[a-zA-Z]\\w*",ri="[a-zA-Z_]\\w*",Rr="\\b\\d+(\\.\\d+)?",Cr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Mr="\\b(0b[01]+)",Va="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Xa=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=et(e,/.*\b/,t.binary,/\b.*/)),Ze({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},t)},zt={begin:"\\\\[\\s\\S]",relevance:0},Qa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[zt]},Ja={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[zt]},ja={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/},dn=function(t,e,n={}){let i=Ze({scope:"comment",begin:t,end:e,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=ni("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,}/);return i.contains.push({begin:et(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},ec=dn("//","$"),tc=dn("/\\*","\\*/"),nc=dn("#","$"),ic={scope:"number",begin:Rr,relevance:0},rc={scope:"number",begin:Cr,relevance:0},sc={scope:"number",begin:Mr,relevance:0},oc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[zt,{begin:/\[/,end:/\]/,relevance:0,contains:[zt]}]},ac={scope:"title",begin:Or,relevance:0},cc={scope:"title",begin:ri,relevance:0},lc={begin:"\\.\\s*"+ri,relevance:0},uc=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},cn=Object.freeze({__proto__:null,APOS_STRING_MODE:Qa,BACKSLASH_ESCAPE:zt,BINARY_NUMBER_MODE:sc,BINARY_NUMBER_RE:Mr,COMMENT:dn,C_BLOCK_COMMENT_MODE:tc,C_LINE_COMMENT_MODE:ec,C_NUMBER_MODE:rc,C_NUMBER_RE:Cr,END_SAME_AS_BEGIN:uc,HASH_COMMENT_MODE:nc,IDENT_RE:Or,MATCH_NOTHING_RE:Ya,METHOD_GUARD:lc,NUMBER_MODE:ic,NUMBER_RE:Rr,PHRASAL_WORDS_MODE:ja,QUOTE_STRING_MODE:Ja,REGEXP_MODE:oc,RE_STARTERS_RE:Va,SHEBANG:Xa,TITLE_MODE:ac,UNDERSCORE_IDENT_RE:ri,UNDERSCORE_TITLE_MODE:cc});function dc(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function pc(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function gc(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=dc,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function fc(t,e){Array.isArray(t.illegal)&&(t.illegal=ni(...t.illegal))}function mc(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function hc(t,e){t.relevance===void 0&&(t.relevance=1)}var bc=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(i=>{delete t[i]}),t.keywords=n.keywords,t.begin=et(n.beforeMatch,kr(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},_c=["of","and","for","in","not","or","if","then","parent","list","value"],Ec="keyword";function Ir(t,e,n=Ec){let i=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(o){Object.assign(i,Ir(t[o],e,o))}),i;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");i[c[0]]=[o,yc(c[0],c[1])]})}}function yc(t,e){return e?Number(e):Tc(t)?0:1}function Tc(t){return _c.includes(t.toLowerCase())}var Tr={},je=t=>{console.error(t)},Nr=(t,...e)=>{console.log(`WARN: ${t}`,...e)},mt=(t,e)=>{Tr[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Tr[`${t}/${e}`]=!0)},un=new Error;function Lr(t,e,{key:n}){let i=0,r=t[n],o={},s={};for(let a=1;a<=e.length;a++)s[a+i]=r[a],o[a+i]=!0,i+=xr(e[a-1]);t[n]=s,t[n]._emit=o,t[n]._multi=!0}function Nc(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw je("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),un;if(typeof t.beginScope!="object"||t.beginScope===null)throw je("beginScope must be object"),un;Lr(t,t.begin,{key:"beginScope"}),t.begin=ii(t.begin,{joinWith:""})}}function wc(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw je("skip, excludeEnd, returnEnd not compatible with endScope: {}"),un;if(typeof t.endScope!="object"||t.endScope===null)throw je("endScope must be object"),un;Lr(t,t.end,{key:"endScope"}),t.end=ii(t.end,{joinWith:""})}}function Sc(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function Ac(t){Sc(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),Nc(t),wc(t)}function vc(t){function e(s,a){return new RegExp(Bt(s),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=xr(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(ii(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let d=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[d];return c.splice(0,d),Object.assign(c,l)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let c=new n;return this.rules.slice(a).forEach(([d,l])=>c.addRule(d,l)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let d=c.exec(a);if(this.resumingScanAtSamePosition()&&!(d&&d.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,d=l.exec(a)}return d&&(this.regexIndex+=d.position+1,this.regexIndex===this.count&&this.considerAll()),d}}function r(s){let a=new i;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let c=s;if(s.isCompiled)return c;[pc,mc,Ac,bc].forEach(l=>l(s,a)),t.compilerExtensions.forEach(l=>l(s,a)),s.__beforeBegin=null,[gc,fc,hc].forEach(l=>l(s,a)),s.isCompiled=!0;let d=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),d=s.keywords.$pattern,delete s.keywords.$pattern),d=d||/\w+/,s.keywords&&(s.keywords=Ir(s.keywords,t.case_insensitive)),c.keywordPatternRe=e(d,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Bt(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(l){return kc(l==="self"?s:l)})),s.contains.forEach(function(l){o(l,c)}),s.starts&&o(s.starts,a),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Ze(t.classNameAliases||{}),o(t)}function Dr(t){return t?t.endsWithParent||Dr(t.starts):!1}function kc(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Ze(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:Dr(t)?Ze(t,{starts:t.starts?Ze(t.starts):null}):Object.isFrozen(t)?Ze(t):t}var xc="11.9.0",ti=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},Qn=vr,wr=Ze,Sr=Symbol("nomatch"),Oc=7,$r=function(t){let e=Object.create(null),n=Object.create(null),i=[],r=!0,o="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]},a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:ei};function c(m){return a.noHighlightRe.test(m)}function d(m){let T=m.className+" ";T+=m.parentNode?m.parentNode.className:"";let I=a.languageDetectRe.exec(T);if(I){let y=v(I[1]);return y||(Nr(o.replace("{}",I[1])),Nr("Falling back to no-highlight mode for this block.",m)),y?I[1]:"no-highlight"}return T.split(/\s+/).find(y=>c(y)||v(y))}function l(m,T,I){let y="",_="";typeof T=="object"?(y=m,I=T.ignoreIllegals,_=T.language):(mt("10.7.0","highlight(lang, code, ...args) has been deprecated."),mt("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),_=m,y=T),I===void 0&&(I=!0);let E={code:y,language:_};oe("before:highlight",E);let k=E.result?E.result:g(E.language,E.code,I);return k.code=E.code,oe("after:highlight",k),k}function g(m,T,I,y){let _=Object.create(null);function E(N,O){return N.keywords[O]}function k(){if(!P.keywords){S.addText(R);return}let N=0;P.keywordPatternRe.lastIndex=0;let O=P.keywordPatternRe.exec(R),U="";for(;O;){U+=R.substring(N,O.index);let V=Te.case_insensitive?O[0].toLowerCase():O[0],de=E(P,V);if(de){let[Ce,st]=de;if(S.addText(U),U="",_[V]=(_[V]||0)+1,_[V]<=Oc&&(q+=st),Ce.startsWith("_"))U+=O[0];else{let ot=Te.classNameAliases[Ce]||Ce;ee(O[0],ot)}}else U+=O[0];N=P.keywordPatternRe.lastIndex,O=P.keywordPatternRe.exec(R)}U+=R.substring(N),S.addText(U)}function $(){if(R==="")return;let N=null;if(typeof P.subLanguage=="string"){if(!e[P.subLanguage]){S.addText(R);return}N=g(P.subLanguage,R,!0,K[P.subLanguage]),K[P.subLanguage]=N._top}else N=f(R,P.subLanguage.length?P.subLanguage:null);P.relevance>0&&(q+=N.relevance),S.__addSublanguage(N._emitter,N.language)}function D(){P.subLanguage!=null?$():k(),R=""}function ee(N,O){N!==""&&(S.startScope(O),S.addText(N),S.endScope())}function Re(N,O){let U=1,V=O.length-1;for(;U<=V;){if(!N._emit[U]){U++;continue}let de=Te.classNameAliases[N[U]]||N[U],Ce=O[U];de?ee(Ce,de):(R=Ce,k(),R=""),U++}}function He(N,O){return N.scope&&typeof N.scope=="string"&&S.openNode(Te.classNameAliases[N.scope]||N.scope),N.beginScope&&(N.beginScope._wrap?(ee(R,Te.classNameAliases[N.beginScope._wrap]||N.beginScope._wrap),R=""):N.beginScope._multi&&(Re(N.beginScope,O),R="")),P=Object.create(N,{parent:{value:P}}),P}function Ye(N,O,U){let V=Wa(N.endRe,U);if(V){if(N["on:end"]){let de=new ln(N);N["on:end"](O,de),de.isMatchIgnored&&(V=!1)}if(V){for(;N.endsParent&&N.parent;)N=N.parent;return N}}if(N.endsWithParent)return Ye(N.parent,O,U)}function Nt(N){return P.matcher.regexIndex===0?(R+=N[0],1):(Me=!0,0)}function wt(N){let O=N[0],U=N.rule,V=new ln(U),de=[U.__beforeBegin,U["on:begin"]];for(let Ce of de)if(Ce&&(Ce(N,V),V.isMatchIgnored))return Nt(O);return U.skip?R+=O:(U.excludeBegin&&(R+=O),D(),!U.returnBegin&&!U.excludeBegin&&(R=O)),He(U,N),U.returnBegin?0:O.length}function it(N){let O=N[0],U=T.substring(N.index),V=Ye(P,N,U);if(!V)return Sr;let de=P;P.endScope&&P.endScope._wrap?(D(),ee(O,P.endScope._wrap)):P.endScope&&P.endScope._multi?(D(),Re(P.endScope,N)):de.skip?R+=O:(de.returnEnd||de.excludeEnd||(R+=O),D(),de.excludeEnd&&(R=O));do P.scope&&S.closeNode(),!P.skip&&!P.subLanguage&&(q+=P.relevance),P=P.parent;while(P!==V.parent);return V.starts&&He(V.starts,N),de.returnEnd?0:O.length}function X(){let N=[];for(let O=P;O!==Te;O=O.parent)O.scope&&N.unshift(O.scope);N.forEach(O=>S.openNode(O))}let ke={};function be(N,O){let U=O&&O[0];if(R+=N,U==null)return D(),0;if(ke.type==="begin"&&O.type==="end"&&ke.index===O.index&&U===""){if(R+=T.slice(O.index,O.index+1),!r){let V=new Error(`0 width match regex (${m})`);throw V.languageName=m,V.badRule=ke.rule,V}return 1}if(ke=O,O.type==="begin")return wt(O);if(O.type==="illegal"&&!I){let V=new Error('Illegal lexeme "'+U+'" for mode "'+(P.scope||"")+'"');throw V.mode=P,V}else if(O.type==="end"){let V=it(O);if(V!==Sr)return V}if(O.type==="illegal"&&U==="")return 1;if(Ae>1e5&&Ae>O.index*3)throw new Error("potential infinite loop, way more iterations than matches");return R+=U,U.length}let Te=v(m);if(!Te)throw je(o.replace("{}",m)),new Error('Unknown language: "'+m+'"');let An=vc(Te),rt="",P=y||An,K={},S=new a.__emitter(a);X();let R="",q=0,ie=0,Ae=0,Me=!1;try{if(Te.__emitTokens)Te.__emitTokens(T,S);else{for(P.matcher.considerAll();;){Ae++,Me?Me=!1:P.matcher.considerAll(),P.matcher.lastIndex=ie;let N=P.matcher.exec(T);if(!N)break;let O=T.substring(ie,N.index),U=be(O,N);ie=N.index+U}be(T.substring(ie))}return S.finalize(),rt=S.toHTML(),{language:m,value:rt,relevance:q,illegal:!1,_emitter:S,_top:P}}catch(N){if(N.message&&N.message.includes("Illegal"))return{language:m,value:Qn(T),illegal:!0,relevance:0,_illegalBy:{message:N.message,index:ie,context:T.slice(ie-100,ie+100),mode:N.mode,resultSoFar:rt},_emitter:S};if(r)return{language:m,value:Qn(T),illegal:!1,relevance:0,errorRaised:N,_emitter:S,_top:P};throw N}}function p(m){let T={value:Qn(m),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return T._emitter.addText(m),T}function f(m,T){T=T||a.languages||Object.keys(e);let I=p(m),y=T.filter(v).filter(re).map(D=>g(D,m,!1));y.unshift(I);let _=y.sort((D,ee)=>{if(D.relevance!==ee.relevance)return ee.relevance-D.relevance;if(D.language&&ee.language){if(v(D.language).supersetOf===ee.language)return 1;if(v(ee.language).supersetOf===D.language)return-1}return 0}),[E,k]=_,$=E;return $.secondBest=k,$}function b(m,T,I){let y=T&&n[T]||I;m.classList.add("hljs"),m.classList.add(`language-${y}`)}function w(m){let T=null,I=d(m);if(c(I))return;if(oe("before:highlightElement",{el:m,language:I}),m.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",m);return}if(m.children.length>0&&(a.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(m)),a.throwUnescapedHTML))throw new ti("One of your code blocks includes unescaped HTML.",m.innerHTML);T=m;let y=T.textContent,_=I?l(y,{language:I,ignoreIllegals:!0}):f(y);m.innerHTML=_.value,m.dataset.highlighted="yes",b(m,I,_.language),m.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(m.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),oe("after:highlightElement",{el:m,result:_,text:y})}function A(m){a=wr(a,m)}let z=()=>{M(),mt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Y(){M(),mt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let C=!1;function M(){if(document.readyState==="loading"){C=!0;return}document.querySelectorAll(a.cssSelector).forEach(w)}function Z(){C&&M()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",Z,!1);function G(m,T){let I=null;try{I=T(t)}catch(y){if(je("Language definition for '{}' could not be registered.".replace("{}",m)),r)je(y);else throw y;I=s}I.name||(I.name=m),e[m]=I,I.rawDefinition=T.bind(null,t),I.aliases&&le(I.aliases,{languageName:m})}function B(m){delete e[m];for(let T of Object.keys(n))n[T]===m&&delete n[T]}function ne(){return Object.keys(e)}function v(m){return m=(m||"").toLowerCase(),e[m]||e[n[m]]}function le(m,{languageName:T}){typeof m=="string"&&(m=[m]),m.forEach(I=>{n[I.toLowerCase()]=T})}function re(m){let T=v(m);return T&&!T.disableAutodetect}function ue(m){m["before:highlightBlock"]&&!m["before:highlightElement"]&&(m["before:highlightElement"]=T=>{m["before:highlightBlock"](Object.assign({block:T.el},T))}),m["after:highlightBlock"]&&!m["after:highlightElement"]&&(m["after:highlightElement"]=T=>{m["after:highlightBlock"](Object.assign({block:T.el},T))})}function se(m){ue(m),i.push(m)}function te(m){let T=i.indexOf(m);T!==-1&&i.splice(T,1)}function oe(m,T){let I=m;i.forEach(function(y){y[I]&&y[I](T)})}function he(m){return mt("10.7.0","highlightBlock will be removed entirely in v12.0"),mt("10.7.0","Please use highlightElement now."),w(m)}Object.assign(t,{highlight:l,highlightAuto:f,highlightAll:M,highlightElement:w,highlightBlock:he,configure:A,initHighlighting:z,initHighlightingOnLoad:Y,registerLanguage:G,unregisterLanguage:B,listLanguages:ne,getLanguage:v,registerAliases:le,autoDetection:re,inherit:wr,addPlugin:se,removePlugin:te}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=xc,t.regex={concat:et,lookahead:kr,either:ni,optional:Ka,anyNumberOfTimes:Ga};for(let m in cn)typeof cn[m]=="object"&&Ar(cn[m]);return Object.assign(t,cn),t},ht=$r({});ht.newInstance=()=>$r({});Pr.exports=ht;ht.HighlightJS=ht;ht.default=ht});var zr=W((wd,Br)=>{function Rc(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(o,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[o,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,c,a]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:d}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Br.exports=Rc});var Hr=W((Sd,Fr)=>{function Cc(t){let e=t.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(s);let a={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=t.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],w=["true","false"],A={match:/(\/[a-z._-]+)+/},z=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],Y=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],C=["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"],M=["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"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:w,built_in:[...z,...Y,"set","shopt",...C,...M]},contains:[p,t.SHEBANG(),f,l,t.HASH_COMMENT_MODE,o,A,s,a,c,d,n]}}Fr.exports=Cc});var Kr=W((Ad,Gr)=>{function Mc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",o="<[^<>]+>",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(o)+")",a={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",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"},z=[g,a,n,t.C_BLOCK_COMMENT_MODE,l,d],Y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:z.concat([{begin:/\(/,end:/\)/,keywords:A,contains:z.concat(["self"]),relevance:0}]),relevance:0},C={begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:A,relevance:0},{begin:f,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,a,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,a]}]},a,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:g,strings:d,keywords:A}}}Gr.exports=Mc});var Wr=W((vd,qr)=>{function Ic(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",o="<[^<>]+>",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(o)+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",b=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","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"],z=["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"],M={type:w,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},Z={className:"function.dispatch",relevance:0,keywords:{_hint:z},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},G=[Z,g,a,n,t.C_BLOCK_COMMENT_MODE,l,d],B={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:M,contains:G.concat([{begin:/\(/,end:/\)/,keywords:M,contains:G.concat(["self"]),relevance:0}]),relevance:0},ne={className:"function",begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:M,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:M,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,a,{begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,a]}]},a,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:M,illegal:"",keywords:M,contains:["self",a]},{begin:t.IDENT_RE+"::",keywords:M},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}qr.exports=Ic});var Yr=W((kd,Zr)=>{function Lc(t){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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"],o=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"],s={keyword:r.concat(o),built_in:e,literal:i},a=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},l=t.inherit(d,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:s},p=t.inherit(g,{illegal:/\n/}),f={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,p]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},w=t.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});g.contains=[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.C_BLOCK_COMMENT_MODE],p.contains=[w,f,l,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let A={variants:[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},z={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},Y=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Y+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,z],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[A,c,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},C]}}Zr.exports=Lc});var Xr=W((xd,Vr)=>{var Dc=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),$c=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Pc=["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"],Uc=["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"],Bc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],zc=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Fc(t){let e=t.regex,n=Dc(t),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Uc.join("|")+")"},{begin:":(:)?("+Bc.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+zc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Pc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+$c.join("|")+")\\b"}]}}Vr.exports=Fc});var Jr=W((Od,Qr)=>{function Hc(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},d={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=t.inherit(d,{contains:[]}),p=t.inherit(l,{contains:[]});d.contains.push(p),l.contains.push(g);let f=[n,c];return[d,l,g,p].forEach(A=>{A.contains=A.contains.concat(f)}),f=f.concat(d,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},n,o,d,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,s]}}Qr.exports=Hc});var es=W((Rd,jr)=>{function Gc(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}jr.exports=Gc});var ns=W((Cd,ts)=>{function Kc(t){let e=t.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],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"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},d=[t.COMMENT("#","$",{contains:[a]}),t.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[t.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},G=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:s},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:n}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,d),relevance:0}].concat(c,d);l.contains=G,w.contains=G;let B="[>?]>",ne="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",v="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",le=[{begin:/^\s*=>/,starts:{end:"$",contains:G}},{className:"meta.prompt",begin:"^("+B+"|"+ne+"|"+v+")(?=[ ])",starts:{end:"$",keywords:s,contains:G}}];return d.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(le).concat(d).concat(G)}}ts.exports=Kc});var rs=W((Md,is)=>{function qc(t){let o={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"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:o,illegal:"{function Wc(t){let e=t.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(n,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}ss.exports=Wc});var cs=W((Ld,as)=>{function Zc(t){let e=t.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},i=t.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[i,o,r,s,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,d=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,d,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,a,o,r,s,n]}}]}}as.exports=Zc});var ps=W((Dd,ds)=>{var bt="[0-9](_*[0-9])*",pn=`\\.(${bt})`,gn="[0-9a-fA-F](_*[0-9a-fA-F])*",ls={className:"number",variants:[{begin:`(\\b(${bt})((${pn})|\\.)?|(${pn}))[eE][+-]?(${bt})[fFdD]?\\b`},{begin:`\\b(${bt})((${pn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${pn})[fFdD]?\\b`},{begin:`\\b(${bt})[fFdD]\\b`},{begin:`\\b0[xX]((${gn})\\.?|(${gn})?\\.(${gn}))[pP][+-]?(${bt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${gn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function us(t,e,n){return n===-1?"":t.replace(e,i=>us(t,e,n-1))}function Yc(t){let e=t.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=n+us("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[t.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[t.BACKSLASH_ESCAPE]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",t.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,ls,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},ls,d]}}ds.exports=Yc});var _s=W(($d,bs)=>{var gs="[A-Za-z$_][0-9A-Za-z$_]*",Vc=["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"],Xc=["true","false","null","undefined","NaN","Infinity"],fs=["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"],ms=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],hs=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Qc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Jc=[].concat(hs,fs,ms);function jc(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},a={$pattern:gs,keyword:Vc,literal:Xc,built_in:Jc,"variable.language":Qc},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,w,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:a,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...fs,...ms]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...hs,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},oe={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},he="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",m={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(he)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,w,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},m,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:he,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,oe,{match:/\$[(.]/}]}}bs.exports=jc});var ys=W((Pd,Es)=>{function el(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",keywords:{literal:i},contains:[e,n,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}Es.exports=el});var Ns=W((Ud,Ts)=>{var _t="[0-9](_*[0-9])*",fn=`\\.(${_t})`,mn="[0-9a-fA-F](_*[0-9a-fA-F])*",tl={className:"number",variants:[{begin:`(\\b(${_t})((${fn})|\\.)?|(${fn}))[eE][+-]?(${_t})[fFdD]?\\b`},{begin:`\\b(${_t})((${fn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${fn})[fFdD]?\\b`},{begin:`\\b(${_t})[fFdD]\\b`},{begin:`\\b0[xX]((${mn})\\.?|(${mn})?\\.(${mn}))[pP][+-]?(${_t})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${mn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function nl(t){let e={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",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[t.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+t.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,r]},{begin:"'",end:"'",illegal:/\n/,contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[t.BACKSLASH_ESCAPE,o,r]}]};r.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+t.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+t.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[t.inherit(s,{className:"string"}),"self"]}]},d=tl,l=t.COMMENT("/\\*","\\*/",{contains:[t.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:t.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),t.C_LINE_COMMENT_MODE,l,n,i,a,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:t.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[t.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,t.C_LINE_COMMENT_MODE,l],relevance:0},t.C_LINE_COMMENT_MODE,l,a,c,s,t.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,t.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},t.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,c]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},d]}}Ts.exports=nl});var vs=W((Bd,As)=>{var il=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),rl=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],sl=["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"],ws=["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"],Ss=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ol=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),al=ws.concat(Ss);function cl(t){let e=il(t),n=al,i="and or not only",r="[\\w-]+",o="("+r+"|@\\{"+r+"\\})",s=[],a=[],c=function(C){return{className:"string",begin:"~?"+C+".*?"+C}},d=function(C,M,Z){return{className:C,begin:M,relevance:Z}},l={$pattern:/[a-z-]+/,keyword:i,attribute:sl.join(" ")},g={begin:"\\(",end:"\\)",contains:a,keywords:l,relevance:0};a.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,d("variable","@@?"+r,10),d("variable","@\\{"+r+"\\}"),d("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=a.concat({begin:/\{/,end:/\}/,contains:s}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},b={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ol.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:a,relevance:0}},A={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},z={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,f,d("keyword","all\\b"),d("variable","@\\{"+r+"\\}"),{begin:"\\b("+rl.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,d("selector-tag",o,0),d("selector-id","#"+o),d("selector-class","\\."+o,0),d("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+ws.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Ss.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},Y={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[z]};return s.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,w,A,Y,b,z,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}As.exports=cl});var xs=W((zd,ks)=>{function ll(t){let e="\\[=*\\[",n="\\]=*\\]",i={begin:e,end:n,contains:["self"]},r=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,n,{contains:[i],relevance:10})];return{name:"Lua",keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",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"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:n,contains:[i],relevance:5}])}}ks.exports=ll});var Rs=W((Fd,Os)=>{function ul(t){let e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%{function dl(t){let e=t.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","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","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","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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},a={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[t.BACKSLASH_ESCAPE,o,a],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(f,b,w="\\1")=>{let A=w==="\\1"?w:e.concat(w,b);return e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,A,/(?:\\.|[^\\\/])*?/,w,i)},g=(f,b,w)=>e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,w,i),p=[a,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",e.either(...d,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:g("(?:m|qr)?",/\//,/\//)},{begin:g("m|qr",e.either(...d,{capture:!0}),/\1/)},{begin:g("m|qr",/\(/,/\)/)},{begin:g("m|qr",/\[/,/\]/)},{begin:g("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=p,s.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}Cs.exports=dl});var Ls=W((Gd,Is)=>{function pl(t){let e={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:n,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"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}Is.exports=pl});var $s=W((Kd,Ds)=>{function gl(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o={scope:"variable",match:"\\$+"+i},s={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},a={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(a)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(a),"on:begin":(se,te)=>{te.data._beginMatch=se[1]||se[2]},"on:end":(se,te)=>{te.data._beginMatch!==se[1]&&te.ignoreMatch()}},g=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ -]`,f={scope:"string",variants:[d,c,l,g]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},w=["false","null","true"],A=["__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"],z=["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"],C={keyword:A,literal:(se=>{let te=[];return se.forEach(oe=>{te.push(oe),oe.toLowerCase()===oe?te.push(oe.toUpperCase()):te.push(oe.toLowerCase())}),te})(w),built_in:z},M=se=>se.map(te=>te.replace(/\|\d+$/,"")),Z={variants:[{match:[/new/,e.concat(p,"+"),e.concat("(?!",M(z).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},G=e.concat(i,"\\b(?!\\()"),B={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},ne={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[ne,o,B,t.C_BLOCK_COMMENT_MODE,f,b,Z]},le={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",M(A).join("\\b|"),"|",M(z).join("\\b|"),"\\b)"),i,e.concat(p,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(le);let re=[ne,B,t.C_BLOCK_COMMENT_MODE,f,b,Z],ue={begin:e.concat(/#\[\s*/,r),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:w,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:w,keyword:["new","array"]},contains:["self",...re]},...re,{scope:"meta",match:r}]};return{case_insensitive:!1,keywords:C,contains:[ue,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},s,{scope:"variable.language",match:/\$this\b/},o,le,B,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},Z,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",o,B,t.C_BLOCK_COMMENT_MODE,f,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,b]}}Ds.exports=gl});var Us=W((qd,Ps)=>{function fl(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Ps.exports=fl});var zs=W((Wd,Bs)=>{function ml(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Bs.exports=ml});var Hs=W((Zd,Fs)=>{function hl(t){let e=t.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,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"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},d={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,l,d]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},z={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,w,g,t.HASH_COMMENT_MODE]}]};return d.contains=[g,w,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,w,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},g,A,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[z]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[w,z,g]}]}}Fs.exports=hl});var Ks=W((Yd,Gs)=>{function bl(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}Gs.exports=bl});var Ws=W((Vd,qs)=>{function _l(t){let e=t.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",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"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[o,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}qs.exports=_l});var Ys=W((Xd,Zs)=>{function El(t){let e=t.regex,n={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,t.IDENT_RE,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",r=["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","unsafe","unsized","use","virtual","where","while","yield"],o=["true","false","Some","None","Ok","Err"],s=["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!"],a=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:a,keyword:r,literal:o,built_in:s},illegal:""},n]}}Zs.exports=El});var Xs=W((Qd,Vs)=>{var yl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Tl=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Nl=["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"],wl=["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"],Sl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Al=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function vl(t){let e=yl(t),n=Sl,i=wl,r="@[a-z-]+",o="and or not only",a={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Tl.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Al.join("|")+")\\b"},{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"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,a,e.HEXCOLOR,e.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:Nl.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}Vs.exports=vl});var Js=W((Jd,Qs)=>{function kl(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}Qs.exports=kl});var eo=W((jd,js)=>{function xl(t){let e=t.regex,n=t.COMMENT("--","$"),i={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},o=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],a=["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"],c=["add","asc","collation","desc","final","first","last","view"],d=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...d,...c].filter(C=>!l.includes(C)),w={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},A={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},z={begin:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function Y(C,{exceptions:M,when:Z}={}){let G=Z;return M=M||[],C.map(B=>B.match(/\|\d+$/)||M.includes(B)?B:G(B)?`${B}|0`:B)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:Y(b,{when:C=>C.length<3}),literal:o,type:a,built_in:g},contains:[{begin:e.either(...p),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:b.concat(p),literal:o,type:a}},{className:"type",begin:e.either(...s)},z,w,i,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,n,A]}}js.exports=xl});var lo=W((ep,co)=>{function ro(t){return t?typeof t=="string"?t:t.source:null}function hn(t){return J("(?=",t,")")}function J(...t){return t.map(n=>ro(n)).join("")}function Ol(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function Se(...t){return"("+(Ol(t).capture?"":"?:")+t.map(i=>ro(i)).join("|")+")"}var ci=t=>J(/\b/,t,/\w$/.test(t)?/\b/:/\B/),Rl=["Protocol","Type"].map(ci),to=["init","self"].map(ci),Cl=["Any","Self"],si=["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","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"],no=["false","nil","true"],Ml=["assignment","associativity","higherThan","left","lowerThan","none","right"],Il=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],io=["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"],so=Se(/[/=\-+!*%<>&|^~?]/,/[\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]/),oo=Se(so,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),oi=J(so,oo,"*"),ao=Se(/[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]/),bn=Se(ao,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Ue=J(ao,bn,"*"),ai=J(/[A-Z]/,bn,"*"),Ll=["attached","autoclosure",J(/convention\(/,Se("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",J(/objc\(/,Ue,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Dl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function $l(t){let e={match:/\s+/,relevance:0},n=t.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[t.C_LINE_COMMENT_MODE,n],r={match:[/\./,Se(...Rl,...to)],className:{2:"keyword"}},o={match:J(/\./,Se(...si)),relevance:0},s=si.filter(X=>typeof X=="string").concat(["_|0"]),a=si.filter(X=>typeof X!="string").concat(Cl).map(ci),c={variants:[{className:"keyword",match:Se(...a,...to)}]},d={$pattern:Se(/\b\w+/,/#\w+/),keyword:s.concat(Il),literal:no},l=[r,o,c],g={match:J(/\./,Se(...io)),relevance:0},p={className:"built_in",match:J(/\b/,Se(...io),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:oi},{match:`\\.(\\.|${oo})+`}]},A=[b,w],z="([0-9]_*)+",Y="([0-9a-fA-F]_*)+",C={className:"number",relevance:0,variants:[{match:`\\b(${z})(\\.(${z}))?([eE][+-]?(${z}))?\\b`},{match:`\\b0x(${Y})(\\.(${Y}))?([pP][+-]?(${z}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(X="")=>({className:"subst",variants:[{match:J(/\\/,X,/[0\\tnr"']/)},{match:J(/\\/,X,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Z=(X="")=>({className:"subst",match:J(/\\/,X,/[\t ]*(?:[\r\n]|\r\n)/)}),G=(X="")=>({className:"subst",label:"interpol",begin:J(/\\/,X,/\(/),end:/\)/}),B=(X="")=>({begin:J(X,/"""/),end:J(/"""/,X),contains:[M(X),Z(X),G(X)]}),ne=(X="")=>({begin:J(X,/"/),end:J(/"/,X),contains:[M(X),G(X)]}),v={className:"string",variants:[B(),B("#"),B("##"),B("###"),ne(),ne("#"),ne("##"),ne("###")]},le=[t.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}],re={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:le},ue=X=>{let ke=J(X,/\//),be=J(/\//,X);return{begin:ke,end:be,contains:[...le,{scope:"comment",begin:`#(?!.*${be})`,end:/$/}]}},se={scope:"regexp",variants:[ue("###"),ue("##"),ue("#"),re]},te={match:J(/`/,Ue,/`/)},oe={className:"variable",match:/\$\d+/},he={className:"variable",match:`\\$${bn}+`},m=[te,oe,he],T={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Dl,contains:[...A,C,v]}]}},I={scope:"keyword",match:J(/@/,Se(...Ll))},y={scope:"meta",match:J(/@/,Ue)},_=[T,I,y],E={match:hn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:J(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,bn,"+")},{className:"type",match:ai,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:J(/\s+&\s+/,hn(ai)),relevance:0}]},k={begin://,keywords:d,contains:[...i,...l,..._,b,E]};E.contains.push(k);let $={match:J(Ue,/\s*:/),keywords:"_|0",relevance:0},D={begin:/\(/,end:/\)/,relevance:0,keywords:d,contains:["self",$,...i,se,...l,...f,...A,C,v,...m,..._,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},Re={begin:Se(hn(J(Ue,/\s*:/)),hn(J(Ue,/\s+/,Ue,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Ue}]},He={begin:/\(/,end:/\)/,keywords:d,contains:[Re,...i,...l,...A,C,v,..._,E,D],endsParent:!0,illegal:/["']/},Ye={match:[/(func|macro)/,/\s+/,Se(te.match,Ue,oi)],className:{1:"keyword",3:"title.function"},contains:[ee,He,e],illegal:[/\[/,/%/]},Nt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,He,e],illegal:/\[|%/},wt={match:[/operator/,/\s+/,oi],className:{1:"keyword",3:"title"}},it={begin:[/precedencegroup/,/\s+/,ai],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Ml,...no],end:/}/};for(let X of v.variants){let ke=X.contains.find(Te=>Te.label==="interpol");ke.keywords=d;let be=[...l,...f,...A,C,v,...m];ke.contains=[...be,{begin:/\(/,end:/\)/,contains:["self",...be]}]}return{name:"Swift",keywords:d,contains:[...i,Ye,Nt,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:d,contains:[t.inherit(t.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...l]},wt,it,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},se,...l,...f,...A,C,v,...m,..._,E,D]}}co.exports=$l});var po=W((tp,uo)=>{function Pl(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},o={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},s=t.inherit(o,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a="[0-9]{4}(-[0-9][0-9]){0,2}",c="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",g={className:"number",begin:"\\b"+a+c+d+l+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},f={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},w=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,b,o],A=[...w];return A.pop(),A.push(s),p.contains=A,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:w}}uo.exports=Pl});var To=W((np,yo)=>{var _n="[A-Za-z$_][0-9A-Za-z$_]*",go=["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"],fo=["true","false","null","undefined","NaN","Infinity"],mo=["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"],ho=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],bo=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],_o=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Eo=[].concat(bo,mo,ho);function Ul(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},a={$pattern:_n,keyword:go,literal:fo,built_in:Eo,"variable.language":_o},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,w,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:a,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...mo,...ho]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...bo,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},oe={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},he="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",m={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(he)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,w,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},m,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:he,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,oe,{match:/\$[(.]/}]}}function Bl(t){let e=Ul(t),n=_n,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[e.exports.CLASS_REFERENCE]},s={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},a=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],c={$pattern:_n,keyword:go.concat(a),literal:fo,built_in:Eo.concat(i),"variable.language":_o},d={className:"meta",begin:"@"+n},l=(p,f,b)=>{let w=p.contains.findIndex(A=>A.label===f);if(w===-1)throw new Error("can not find mode to replace");p.contains.splice(w,1,b)};Object.assign(e.keywords,c),e.exports.PARAMS_CONTAINS.push(d),e.contains=e.contains.concat([d,r,o]),l(e,"shebang",t.SHEBANG()),l(e,"use_strict",s);let g=e.contains.find(p=>p.label==="func.def");return g.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}yo.exports=Bl});var wo=W((ip,No)=>{function zl(t){let e=t.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,o=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,a=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(o,r),/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(o,r),/ +/,e.either(s,a),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{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",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",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,c,d,l,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}No.exports=zl});var Ao=W((rp,So)=>{function Fl(t){t.regex;let e=t.COMMENT(/\(;/,/;\)/);e.contains.push("self");let n=t.COMMENT(/;;/,/$/),i=["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"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},o={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},a={className:"number",relevance:0,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/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",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/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,r,t.QUOTE_STRING_MODE,c,d,a]}}So.exports=Fl});var ko=W((sp,vo)=>{var H=Ur();H.registerLanguage("xml",zr());H.registerLanguage("bash",Hr());H.registerLanguage("c",Kr());H.registerLanguage("cpp",Wr());H.registerLanguage("csharp",Yr());H.registerLanguage("css",Xr());H.registerLanguage("markdown",Jr());H.registerLanguage("diff",es());H.registerLanguage("ruby",ns());H.registerLanguage("go",rs());H.registerLanguage("graphql",os());H.registerLanguage("ini",cs());H.registerLanguage("java",ps());H.registerLanguage("javascript",_s());H.registerLanguage("json",ys());H.registerLanguage("kotlin",Ns());H.registerLanguage("less",vs());H.registerLanguage("lua",xs());H.registerLanguage("makefile",Rs());H.registerLanguage("perl",Ms());H.registerLanguage("objectivec",Ls());H.registerLanguage("php",$s());H.registerLanguage("php-template",Us());H.registerLanguage("plaintext",zs());H.registerLanguage("python",Hs());H.registerLanguage("python-repl",Ks());H.registerLanguage("r",Ws());H.registerLanguage("rust",Ys());H.registerLanguage("scss",Xs());H.registerLanguage("shell",Js());H.registerLanguage("sql",eo());H.registerLanguage("swift",lo());H.registerLanguage("yaml",po());H.registerLanguage("typescript",To());H.registerLanguage("vbnet",wo());H.registerLanguage("wasm",Ao());H.HighlightJS=H;H.default=H;vo.exports=H});var qo=W((_i,Ei)=>{(function(t,e){typeof _i=="object"&&typeof Ei<"u"?Ei.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(_i,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:r}=Object,{freeze:o,seal:s,create:a}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;o||(o=function(S){return S}),s||(s=function(S){return S}),c||(c=function(S,R,q){return S.apply(R,q)}),d||(d=function(S,R){return new S(...R)});let l=B(Array.prototype.forEach),g=B(Array.prototype.pop),p=B(Array.prototype.push),f=B(String.prototype.toLowerCase),b=B(String.prototype.toString),w=B(String.prototype.match),A=B(String.prototype.replace),z=B(String.prototype.indexOf),Y=B(String.prototype.trim),C=B(Object.prototype.hasOwnProperty),M=B(RegExp.prototype.test),Z=ne(TypeError);function G(K){return typeof K=="number"&&isNaN(K)}function B(K){return function(S){for(var R=arguments.length,q=new Array(R>1?R-1:0),ie=1;ie2&&arguments[2]!==void 0?arguments[2]:f;e&&e(K,null);let q=S.length;for(;q--;){let ie=S[q];if(typeof ie=="string"){let Ae=R(ie);Ae!==ie&&(n(S)||(S[q]=Ae),ie=Ae)}K[ie]=!0}return K}function le(K){for(let S=0;S/gm),ee=s(/\${[\w\W]*}/gm),Re=s(/^data-[\-\w.\u00B7-\uFFFF]/),He=s(/^aria-[\-\w]+$/),Ye=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Nt=s(/^(?:\w+script|data):/i),wt=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),it=s(/^html$/i),X=s(/^[a-z][.\w]*(-[.\w]+)+$/i);var ke=Object.freeze({__proto__:null,MUSTACHE_EXPR:$,ERB_EXPR:D,TMPLIT_EXPR:ee,DATA_ATTR:Re,ARIA_ATTR:He,IS_ALLOWED_URI:Ye,IS_SCRIPT_OR_DATA:Nt,ATTR_WHITESPACE:wt,DOCTYPE_NAME:it,CUSTOM_ELEMENT:X});let be={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Te=function(){return typeof window>"u"?null:window},An=function(S,R){if(typeof S!="object"||typeof S.createPolicy!="function")return null;let q=null,ie="data-tt-policy-suffix";R&&R.hasAttribute(ie)&&(q=R.getAttribute(ie));let Ae="dompurify"+(q?"#"+q:"");try{return S.createPolicy(Ae,{createHTML(Me){return Me},createScriptURL(Me){return Me}})}catch{return console.warn("TrustedTypes policy "+Ae+" could not be created."),null}};function rt(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Te(),S=L=>rt(L);if(S.version="3.1.4",S.removed=[],!K||!K.document||K.document.nodeType!==be.document)return S.isSupported=!1,S;let{document:R}=K,q=R,ie=q.currentScript,{DocumentFragment:Ae,HTMLTemplateElement:Me,Node:N,Element:O,NodeFilter:U,NamedNodeMap:V=K.NamedNodeMap||K.MozNamedAttrMap,HTMLFormElement:de,DOMParser:Ce,trustedTypes:st}=K,ot=O.prototype,na=ue(ot,"cloneNode"),ia=ue(ot,"nextSibling"),ra=ue(ot,"childNodes"),St=ue(ot,"parentNode");if(typeof Me=="function"){let L=R.createElement("template");L.content&&L.content.ownerDocument&&(R=L.content.ownerDocument)}let Ee,At="",{implementation:vn,createNodeIterator:sa,createDocumentFragment:oa,getElementsByTagName:aa}=R,{importNode:ca}=q,Ie={};S.isSupported=typeof t=="function"&&typeof St=="function"&&vn&&vn.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:kn,ERB_EXPR:xn,TMPLIT_EXPR:On,DATA_ATTR:la,ARIA_ATTR:ua,IS_SCRIPT_OR_DATA:da,ATTR_WHITESPACE:Ti,CUSTOM_ELEMENT:pa}=ke,{IS_ALLOWED_URI:Ni}=ke,pe=null,wi=v({},[...se,...te,...oe,...m,...I]),ge=null,Si=v({},[...y,..._,...E,...k]),ae=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),vt=null,Rn=null,Ai=!0,Cn=!0,vi=!1,ki=!0,at=!1,Mn=!0,Ve=!1,In=!1,Ln=!1,ct=!1,Wt=!1,Zt=!1,xi=!0,Oi=!1,ga="user-content-",Dn=!0,kt=!1,lt={},ut=null,Ri=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ci=null,Mi=v({},["audio","video","img","source","image","track"]),$n=null,Ii=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Yt="http://www.w3.org/1998/Math/MathML",Vt="http://www.w3.org/2000/svg",Le="http://www.w3.org/1999/xhtml",dt=Le,Pn=!1,Un=null,fa=v({},[Yt,Vt,Le],b),xt=null,ma=["application/xhtml+xml","text/html"],ha="text/html",fe=null,pt=null,Li=255,ba=R.createElement("form"),Di=function(u){return u instanceof RegExp||u instanceof Function},Bn=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(pt&&pt===u)){if((!u||typeof u!="object")&&(u={}),u=re(u),xt=ma.indexOf(u.PARSER_MEDIA_TYPE)===-1?ha:u.PARSER_MEDIA_TYPE,fe=xt==="application/xhtml+xml"?b:f,pe=C(u,"ALLOWED_TAGS")?v({},u.ALLOWED_TAGS,fe):wi,ge=C(u,"ALLOWED_ATTR")?v({},u.ALLOWED_ATTR,fe):Si,Un=C(u,"ALLOWED_NAMESPACES")?v({},u.ALLOWED_NAMESPACES,b):fa,$n=C(u,"ADD_URI_SAFE_ATTR")?v(re(Ii),u.ADD_URI_SAFE_ATTR,fe):Ii,Ci=C(u,"ADD_DATA_URI_TAGS")?v(re(Mi),u.ADD_DATA_URI_TAGS,fe):Mi,ut=C(u,"FORBID_CONTENTS")?v({},u.FORBID_CONTENTS,fe):Ri,vt=C(u,"FORBID_TAGS")?v({},u.FORBID_TAGS,fe):{},Rn=C(u,"FORBID_ATTR")?v({},u.FORBID_ATTR,fe):{},lt=C(u,"USE_PROFILES")?u.USE_PROFILES:!1,Ai=u.ALLOW_ARIA_ATTR!==!1,Cn=u.ALLOW_DATA_ATTR!==!1,vi=u.ALLOW_UNKNOWN_PROTOCOLS||!1,ki=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,at=u.SAFE_FOR_TEMPLATES||!1,Mn=u.SAFE_FOR_XML!==!1,Ve=u.WHOLE_DOCUMENT||!1,ct=u.RETURN_DOM||!1,Wt=u.RETURN_DOM_FRAGMENT||!1,Zt=u.RETURN_TRUSTED_TYPE||!1,Ln=u.FORCE_BODY||!1,xi=u.SANITIZE_DOM!==!1,Oi=u.SANITIZE_NAMED_PROPS||!1,Dn=u.KEEP_CONTENT!==!1,kt=u.IN_PLACE||!1,Ni=u.ALLOWED_URI_REGEXP||Ye,dt=u.NAMESPACE||Le,ae=u.CUSTOM_ELEMENT_HANDLING||{},u.CUSTOM_ELEMENT_HANDLING&&Di(u.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ae.tagNameCheck=u.CUSTOM_ELEMENT_HANDLING.tagNameCheck),u.CUSTOM_ELEMENT_HANDLING&&Di(u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ae.attributeNameCheck=u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ae.allowCustomizedBuiltInElements=u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),at&&(Cn=!1),Wt&&(ct=!0),lt&&(pe=v({},I),ge=[],lt.html===!0&&(v(pe,se),v(ge,y)),lt.svg===!0&&(v(pe,te),v(ge,_),v(ge,k)),lt.svgFilters===!0&&(v(pe,oe),v(ge,_),v(ge,k)),lt.mathMl===!0&&(v(pe,m),v(ge,E),v(ge,k))),u.ADD_TAGS&&(pe===wi&&(pe=re(pe)),v(pe,u.ADD_TAGS,fe)),u.ADD_ATTR&&(ge===Si&&(ge=re(ge)),v(ge,u.ADD_ATTR,fe)),u.ADD_URI_SAFE_ATTR&&v($n,u.ADD_URI_SAFE_ATTR,fe),u.FORBID_CONTENTS&&(ut===Ri&&(ut=re(ut)),v(ut,u.FORBID_CONTENTS,fe)),Dn&&(pe["#text"]=!0),Ve&&v(pe,["html","head","body"]),pe.table&&(v(pe,["tbody"]),delete vt.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Ee=u.TRUSTED_TYPES_POLICY,At=Ee.createHTML("")}else Ee===void 0&&(Ee=An(st,ie)),Ee!==null&&typeof At=="string"&&(At=Ee.createHTML(""));o&&o(u),pt=u}},$i=v({},["mi","mo","mn","ms","mtext"]),Pi=v({},["foreignobject","annotation-xml"]),_a=v({},["title","style","font","a","script"]),Ui=v({},[...te,...oe,...he]),Bi=v({},[...m,...T]),Ea=function(u){let h=St(u);(!h||!h.tagName)&&(h={namespaceURI:dt,tagName:"template"});let x=f(u.tagName),F=f(h.tagName);return Un[u.namespaceURI]?u.namespaceURI===Vt?h.namespaceURI===Le?x==="svg":h.namespaceURI===Yt?x==="svg"&&(F==="annotation-xml"||$i[F]):!!Ui[x]:u.namespaceURI===Yt?h.namespaceURI===Le?x==="math":h.namespaceURI===Vt?x==="math"&&Pi[F]:!!Bi[x]:u.namespaceURI===Le?h.namespaceURI===Vt&&!Pi[F]||h.namespaceURI===Yt&&!$i[F]?!1:!Bi[x]&&(_a[x]||!Ui[x]):!!(xt==="application/xhtml+xml"&&Un[u.namespaceURI]):!1},xe=function(u){p(S.removed,{element:u});try{u.parentNode.removeChild(u)}catch{u.remove()}},Xt=function(u,h){try{p(S.removed,{attribute:h.getAttributeNode(u),from:h})}catch{p(S.removed,{attribute:null,from:h})}if(h.removeAttribute(u),u==="is"&&!ge[u])if(ct||Wt)try{xe(h)}catch{}else try{h.setAttribute(u,"")}catch{}},zi=function(u){let h=null,x=null;if(Ln)u=""+u;else{let me=w(u,/^[\r\n\t ]+/);x=me&&me[0]}xt==="application/xhtml+xml"&&dt===Le&&(u=''+u+"");let F=Ee?Ee.createHTML(u):u;if(dt===Le)try{h=new Ce().parseFromString(F,xt)}catch{}if(!h||!h.documentElement){h=vn.createDocument(dt,"template",null);try{h.documentElement.innerHTML=Pn?At:F}catch{}}let _e=h.body||h.documentElement;return u&&x&&_e.insertBefore(R.createTextNode(x),_e.childNodes[0]||null),dt===Le?aa.call(h,Ve?"html":"body")[0]:Ve?h.documentElement:_e},Fi=function(u){return sa.call(u.ownerDocument||u,u,U.SHOW_ELEMENT|U.SHOW_COMMENT|U.SHOW_TEXT|U.SHOW_PROCESSING_INSTRUCTION|U.SHOW_CDATA_SECTION,null)},Hi=function(u){return u instanceof de&&(typeof u.__depth<"u"&&typeof u.__depth!="number"||typeof u.__removalCount<"u"&&typeof u.__removalCount!="number"||typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||!(u.attributes instanceof V)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function")},Gi=function(u){return typeof N=="function"&&u instanceof N},De=function(u,h,x){Ie[u]&&l(Ie[u],F=>{F.call(S,h,x,pt)})},Ki=function(u){let h=null;if(De("beforeSanitizeElements",u,null),Hi(u))return xe(u),!0;let x=fe(u.nodeName);if(De("uponSanitizeElement",u,{tagName:x,allowedTags:pe}),u.hasChildNodes()&&!Gi(u.firstElementChild)&&M(/<[/\w]/g,u.innerHTML)&&M(/<[/\w]/g,u.textContent)||u.nodeType===be.progressingInstruction||Mn&&u.nodeType===be.comment&&M(/<[/\w]/g,u.data))return xe(u),!0;if(!pe[x]||vt[x]){if(!vt[x]&&Wi(x)&&(ae.tagNameCheck instanceof RegExp&&M(ae.tagNameCheck,x)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(x)))return!1;if(Dn&&!ut[x]){let F=St(u)||u.parentNode,_e=ra(u)||u.childNodes;if(_e&&F){let me=_e.length;for(let Ne=me-1;Ne>=0;--Ne){let we=na(_e[Ne],!0);we.__removalCount=(u.__removalCount||0)+1,F.insertBefore(we,ia(u))}}}return xe(u),!0}return u instanceof O&&!Ea(u)||(x==="noscript"||x==="noembed"||x==="noframes")&&M(/<\/no(script|embed|frames)/i,u.innerHTML)?(xe(u),!0):(at&&u.nodeType===be.text&&(h=u.textContent,l([kn,xn,On],F=>{h=A(h,F," ")}),u.textContent!==h&&(p(S.removed,{element:u.cloneNode()}),u.textContent=h)),De("afterSanitizeElements",u,null),!1)},qi=function(u,h,x){if(xi&&(h==="id"||h==="name")&&(x in R||x in ba||x==="__depth"||x==="__removalCount"))return!1;if(!(Cn&&!Rn[h]&&M(la,h))){if(!(Ai&&M(ua,h))){if(!ge[h]||Rn[h]){if(!(Wi(u)&&(ae.tagNameCheck instanceof RegExp&&M(ae.tagNameCheck,u)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(u))&&(ae.attributeNameCheck instanceof RegExp&&M(ae.attributeNameCheck,h)||ae.attributeNameCheck instanceof Function&&ae.attributeNameCheck(h))||h==="is"&&ae.allowCustomizedBuiltInElements&&(ae.tagNameCheck instanceof RegExp&&M(ae.tagNameCheck,x)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(x))))return!1}else if(!$n[h]){if(!M(Ni,A(x,Ti,""))){if(!((h==="src"||h==="xlink:href"||h==="href")&&u!=="script"&&z(x,"data:")===0&&Ci[u])){if(!(vi&&!M(da,A(x,Ti,"")))){if(x)return!1}}}}}}return!0},Wi=function(u){return u!=="annotation-xml"&&w(u,pa)},Zi=function(u){De("beforeSanitizeAttributes",u,null);let{attributes:h}=u;if(!h)return;let x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge},F=h.length;for(;F--;){let _e=h[F],{name:me,namespaceURI:Ne,value:we}=_e,Ot=fe(me),ye=me==="value"?we:Y(we);if(x.attrName=Ot,x.attrValue=ye,x.keepAttr=!0,x.forceKeepAttr=void 0,De("uponSanitizeAttribute",u,x),ye=x.attrValue,x.forceKeepAttr||(Xt(me,u),!x.keepAttr))continue;if(!ki&&M(/\/>/i,ye)){Xt(me,u);continue}if(Mn&&M(/((--!?|])>)|<\/(style|title)/i,ye)){Xt(me,u);continue}at&&l([kn,xn,On],Vi=>{ye=A(ye,Vi," ")});let Yi=fe(u.nodeName);if(qi(Yi,Ot,ye)){if(Oi&&(Ot==="id"||Ot==="name")&&(Xt(me,u),ye=ga+ye),Ee&&typeof st=="object"&&typeof st.getAttributeType=="function"&&!Ne)switch(st.getAttributeType(Yi,Ot)){case"TrustedHTML":{ye=Ee.createHTML(ye);break}case"TrustedScriptURL":{ye=Ee.createScriptURL(ye);break}}try{Ne?u.setAttributeNS(Ne,me,ye):u.setAttribute(me,ye),Hi(u)?xe(u):g(S.removed)}catch{}}}De("afterSanitizeAttributes",u,null)},ya=function L(u){let h=null,x=Fi(u);for(De("beforeSanitizeShadowDOM",u,null);h=x.nextNode();){if(De("uponSanitizeShadowNode",h,null),Ki(h))continue;let F=St(h);h.nodeType===be.element&&(F&&F.__depth?h.__depth=(h.__removalCount||0)+F.__depth+1:h.__depth=1),(h.__depth>=Li||h.__depth<0||G(h.__depth))&&xe(h),h.content instanceof Ae&&(h.content.__depth=h.__depth,L(h.content)),Zi(h)}De("afterSanitizeShadowDOM",u,null)};return S.sanitize=function(L){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=null,x=null,F=null,_e=null;if(Pn=!L,Pn&&(L=""),typeof L!="string"&&!Gi(L))if(typeof L.toString=="function"){if(L=L.toString(),typeof L!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!S.isSupported)return L;if(In||Bn(u),S.removed=[],typeof L=="string"&&(kt=!1),kt){if(L.nodeName){let we=fe(L.nodeName);if(!pe[we]||vt[we])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(L instanceof N)h=zi(""),x=h.ownerDocument.importNode(L,!0),x.nodeType===be.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?h=x:h.appendChild(x);else{if(!ct&&!at&&!Ve&&L.indexOf("<")===-1)return Ee&&Zt?Ee.createHTML(L):L;if(h=zi(L),!h)return ct?null:Zt?At:""}h&&Ln&&xe(h.firstChild);let me=Fi(kt?L:h);for(;F=me.nextNode();){if(Ki(F))continue;let we=St(F);F.nodeType===be.element&&(we&&we.__depth?F.__depth=(F.__removalCount||0)+we.__depth+1:F.__depth=1),(F.__depth>=Li||F.__depth<0||G(F.__depth))&&xe(F),F.content instanceof Ae&&(F.content.__depth=F.__depth,ya(F.content)),Zi(F)}if(kt)return L;if(ct){if(Wt)for(_e=oa.call(h.ownerDocument);h.firstChild;)_e.appendChild(h.firstChild);else _e=h;return(ge.shadowroot||ge.shadowrootmode)&&(_e=ca.call(q,_e,!0)),_e}let Ne=Ve?h.outerHTML:h.innerHTML;return Ve&&pe["!doctype"]&&h.ownerDocument&&h.ownerDocument.doctype&&h.ownerDocument.doctype.name&&M(it,h.ownerDocument.doctype.name)&&(Ne=" -`+Ne),at&&l([kn,xn,On],we=>{Ne=A(Ne,we," ")}),Ee&&Zt?Ee.createHTML(Ne):Ne},S.setConfig=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bn(L),In=!0},S.clearConfig=function(){pt=null,In=!1},S.isValidAttribute=function(L,u,h){pt||Bn({});let x=fe(L),F=fe(u);return qi(x,F,h)},S.addHook=function(L,u){typeof u=="function"&&(Ie[L]=Ie[L]||[],p(Ie[L],u))},S.removeHook=function(L){if(Ie[L])return g(Ie[L])},S.removeHooks=function(L){Ie[L]&&(Ie[L]=[])},S.removeAllHooks=function(){Ie={}},S}var P=rt();return P})});var Qt=globalThis,jt=Qt.ShadowRoot&&(Qt.ShadyCSS===void 0||Qt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ji=Symbol(),Qi=new WeakMap,Jt=class{constructor(e,n,i){if(this._$cssResult$=!0,i!==Ji)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o,n=this.t;if(jt&&e===void 0){let i=n!==void 0&&n.length===1;i&&(e=Qi.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&Qi.set(n,e))}return e}toString(){return this.cssText}},ji=t=>new Jt(typeof t=="string"?t:t+"",void 0,Ji);var Hn=(t,e)=>{if(jt)t.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(let n of e){let i=document.createElement("style"),r=Qt.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=n.cssText,t.appendChild(i)}},en=jt?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(let i of e.cssRules)n+=i.cssText;return ji(n)})(t):t;var{is:va,defineProperty:ka,getOwnPropertyDescriptor:xa,getOwnPropertyNames:Oa,getOwnPropertySymbols:Ra,getPrototypeOf:Ca}=Object,tn=globalThis,er=tn.trustedTypes,Ma=er?er.emptyScript:"",Ia=tn.reactiveElementPolyfillSupport,Rt=(t,e)=>t,Ct={toAttribute(t,e){switch(e){case Boolean:t=t?Ma:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},nn=(t,e)=>!va(t,e),tr={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:nn};Symbol.metadata??=Symbol("metadata"),tn.litPropertyMetadata??=new WeakMap;var $e=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=tr){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,n);r!==void 0&&ka(this.prototype,e,r)}}static getPropertyDescriptor(e,n,i){let{get:r,set:o}=xa(this.prototype,e)??{get(){return this[n]},set(s){this[n]=s}};return{get(){return r?.call(this)},set(s){let a=r?.call(this);o.call(this,s),this.requestUpdate(e,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??tr}static _$Ei(){if(this.hasOwnProperty(Rt("elementProperties")))return;let e=Ca(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Rt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Rt("properties"))){let n=this.properties,i=[...Oa(n),...Ra(n)];for(let r of i)this.createProperty(r,n[r])}let e=this[Symbol.metadata];if(e!==null){let n=litPropertyMetadata.get(e);if(n!==void 0)for(let[i,r]of n)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[n,i]of this.elementProperties){let r=this._$Eu(n,i);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let n=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)n.unshift(en(r))}else e!==void 0&&n.push(en(e));return n}static _$Eu(e,n){let i=n.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,n=this.constructor.elementProperties;for(let i of n.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Hn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,n,i){this._$AK(e,i)}_$EC(e,n){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let o=(i.converter?.toAttribute!==void 0?i.converter:Ct).toAttribute(n,i.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,n){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=i.getPropertyOptions(r),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:Ct;this._$Em=r,this[r]=s.fromAttribute(n,o.type),this._$Em=null}}requestUpdate(e,n,i){if(e!==void 0){if(i??=this.constructor.getPropertyOptions(e),!(i.hasChanged??nn)(this[e],n))return;this.P(e,n,i)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,n,i){this._$AL.has(e)||this._$AL.set(e,n),i.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,o]of i)o.wrapped!==!0||this._$AL.has(r)||this[r]===void 0||this.P(r,this[r],o)}let e=!1,n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(n)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(n=>this._$EC(n,this[n])),this._$EU()}updated(e){}firstUpdated(e){}};$e.elementStyles=[],$e.shadowRootOptions={mode:"open"},$e[Rt("elementProperties")]=new Map,$e[Rt("finalized")]=new Map,Ia?.({ReactiveElement:$e}),(tn.reactiveElementVersions??=[]).push("2.0.4");var Vn=globalThis,rn=Vn.trustedTypes,nr=rn?rn.createPolicy("lit-html",{createHTML:t=>t}):void 0,cr="$lit$",Ke=`lit$${Math.random().toFixed(9).slice(2)}$`,lr="?"+Ke,La=`<${lr}>`,Je=document,It=()=>Je.createComment(""),Lt=t=>t===null||typeof t!="object"&&typeof t!="function",ur=Array.isArray,Da=t=>ur(t)||typeof t?.[Symbol.iterator]=="function",Gn=`[ -\f\r]`,Mt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ir=/-->/g,rr=/>/g,Xe=RegExp(`>|${Gn}(?:([^\\s"'>=/]+)(${Gn}*=${Gn}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),sr=/'/g,or=/"/g,dr=/^(?:script|style|textarea|title)$/i,pr=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),gr=pr(1),Mu=pr(2),Pe=Symbol.for("lit-noChange"),ce=Symbol.for("lit-nothing"),ar=new WeakMap,Qe=Je.createTreeWalker(Je,129);function fr(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return nr!==void 0?nr.createHTML(e):e}var $a=(t,e)=>{let n=t.length-1,i=[],r,o=e===2?"":"",s=Mt;for(let a=0;a"?(s=r??Mt,g=-1):l[1]===void 0?g=-2:(g=s.lastIndex-l[2].length,d=l[1],s=l[3]===void 0?Xe:l[3]==='"'?or:sr):s===or||s===sr?s=Xe:s===ir||s===rr?s=Mt:(s=Xe,r=void 0);let f=s===Xe&&t[a+1].startsWith("/>")?" ":"";o+=s===Mt?c+La:g>=0?(i.push(d),c.slice(0,g)+cr+c.slice(g)+Ke+f):c+Ke+(g===-2?a:f)}return[fr(t,o+(t[n]||"")+(e===2?"":"")),i]},Dt=class t{constructor({strings:e,_$litType$:n},i){let r;this.parts=[];let o=0,s=0,a=e.length-1,c=this.parts,[d,l]=$a(e,n);if(this.el=t.createElement(d,i),Qe.currentNode=this.el.content,n===2){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=Qe.nextNode())!==null&&c.length0){r.textContent=rn?rn.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ce}_$AI(e,n=this,i,r){let o=this.strings,s=!1;if(o===void 0)e=gt(this,e,n,0),s=!Lt(e)||e!==this._$AH&&e!==Pe,s&&(this._$AH=e);else{let a=e,c,d;for(e=o[0],c=0;c{let i=n?.renderBefore??e,r=i._$litPart$;if(r===void 0){let o=n?.renderBefore??null;i._$litPart$=r=new $t(e.insertBefore(It(),o),o,void 0,n??{})}return r._$AI(t),r};var qe=class extends $e{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=mr(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Pe}};qe._$litElement$=!0,qe["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:qe});var Ua=globalThis.litElementPolyfillSupport;Ua?.({LitElement:qe});(globalThis.litElementVersions??=[]).push("4.0.5");var hr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},br=t=>(...e)=>({_$litDirective$:t,values:e}),sn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,i){this._$Ct=e,this._$AM=n,this._$Ci=i}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};var Pt=class extends sn{constructor(e){if(super(e),this.it=ce,e.type!==hr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ce||e==null)return this._t=void 0,this.it=e;if(e===Pe)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let n=[e];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};Pt.directiveName="unsafeHTML",Pt.resultType=1;var on=br(Pt);var Ba={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:nn},za=(t=Ba,e,n)=>{let{kind:i,metadata:r}=n,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),o.set(n.name,t),i==="accessor"){let{name:s}=n;return{set(a){let c=e.get.call(this);e.set.call(this,a),this.requestUpdate(s,c,t)},init(a){return a!==void 0&&this.P(s,void 0,t),a}}}if(i==="setter"){let{name:s}=n;return function(a){let c=this[s];e.call(this,a),this.requestUpdate(s,c,t)}}throw Error("Unsupported decorator location: "+i)};function We(t){return(e,n)=>typeof n=="object"?za(t,e,n):((i,r,o)=>{let s=r.hasOwnProperty(o);return r.constructor.createProperty(o,s?{...i,wrapped:!0}:i),s?Object.getOwnPropertyDescriptor(r,o):void 0})(t,e,n)}var Jo=Fn(_r());var xo=Fn(ko(),1);var Oo=xo.default;function di(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var nt=di();function Do(t){nt=t}var $o=/[&<>"']/,Hl=new RegExp($o.source,"g"),Po=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Gl=new RegExp(Po.source,"g"),Kl={"&":"&","<":"<",">":">",'"':""","'":"'"},Ro=t=>Kl[t];function ve(t,e){if(e){if($o.test(t))return t.replace(Hl,Ro)}else if(Po.test(t))return t.replace(Gl,Ro);return t}var ql=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Wl(t){return t.replace(ql,(e,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}var Zl=/(^|[^\[])\^/g;function j(t,e){let n=typeof t=="string"?t:t.source;e=e||"";let i={replace:(r,o)=>{let s=typeof o=="string"?o:o.source;return s=s.replace(Zl,"$1"),n=n.replace(r,s),i},getRegex:()=>new RegExp(n,e)};return i}function Co(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}var Ht={exec:()=>null};function Mo(t,e){let n=t.replace(/\|/g,(o,s,a)=>{let c=!1,d=s;for(;--d>=0&&a[d]==="\\";)c=!c;return c?"|":" |"}),i=n.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length{let o=r.match(/^\s+/);if(o===null)return r;let[s]=o;return s.length>=i.length?r.slice(i.length):r}).join(` -`)}var yt=class{options;rules;lexer;constructor(e){this.options=e||nt}space(e){let n=this.rules.block.newline.exec(e);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(e){let n=this.rules.block.code.exec(e);if(n){let i=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?i:En(i,` -`)}}}fences(e){let n=this.rules.block.fences.exec(e);if(n){let i=n[0],r=Vl(i,n[3]||"");return{type:"code",raw:i,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:r}}}heading(e){let n=this.rules.block.heading.exec(e);if(n){let i=n[2].trim();if(/#$/.test(i)){let r=En(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let n=this.rules.block.hr.exec(e);if(n)return{type:"hr",raw:n[0]}}blockquote(e){let n=this.rules.block.blockquote.exec(e);if(n){let i=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` - $1`);i=En(i.replace(/^ *>[ \t]?/gm,""),` -`);let r=this.lexer.state.top;this.lexer.state.top=!0;let o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:n[0],tokens:o,text:i}}}list(e){let n=this.rules.block.list.exec(e);if(n){let i=n[1].trim(),r=i.length>1,o={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),a="",c="",d=!1;for(;e;){let l=!1;if(!(n=s.exec(e))||this.rules.block.hr.test(e))break;a=n[0],e=e.substring(a.length);let g=n[2].split(` +var Mo=Object.create;var Zn=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var Io=Object.getOwnPropertyNames;var Lo=Object.getPrototypeOf,Do=Object.prototype.hasOwnProperty;var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var $o=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Io(e))!Do.call(t,r)&&r!==n&&Zn(t,r,{get:()=>e[r],enumerable:!(i=or(e,r))||i.enumerable});return t};var Yn=(t,e,n)=>(n=t!=null?Mo(Lo(t)):{},$o(e||!t||!t.__esModule?Zn(n,"default",{value:t,enumerable:!0}):n,t));var me=(t,e,n,i)=>{for(var r=i>1?void 0:i?or(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&Zn(e,n,r),r};var xr=W((Gt,ii)=>{(function(e,n){typeof Gt=="object"&&typeof ii=="object"?ii.exports=n():typeof define=="function"&&define.amd?define([],n):typeof Gt=="object"?Gt.ClipboardJS=n():e.ClipboardJS=n()})(Gt,function(){return function(){var t={686:function(i,r,s){"use strict";s.d(r,{default:function(){return I}});var a=s(279),o=s.n(a),c=s(370),d=s.n(c),l=s(817),g=s.n(l);function p(y){try{return document.execCommand(y)}catch{return!1}}var f=function(_){var E=g()(_);return p("cut"),E},b=f;function S(y){var _=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[_?"right":"left"]="-9999px";var k=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(k,"px"),E.setAttribute("readonly",""),E.value=y,E}var A=function(_,E){var k=S(_);E.container.appendChild(k);var $=g()(k);return p("copy"),k.remove(),$},z=function(_){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},k="";return typeof _=="string"?k=A(_,E):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_?.type)?k=A(_.value,E):(k=g()(_),p("copy")),k},Y=z;function C(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(E){return typeof E}:C=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},C(y)}var M=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=_.action,k=E===void 0?"copy":E,$=_.container,D=_.target,ee=_.text;if(k!=="copy"&&k!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(D!==void 0)if(D&&C(D)==="object"&&D.nodeType===1){if(k==="copy"&&D.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(k==="cut"&&(D.hasAttribute("readonly")||D.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return Y(ee,{container:$});if(D)return k==="cut"?b(D):Y(D,{container:$})},Z=M;function G(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(E){return typeof E}:G=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},G(y)}function B(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")}function ne(y,_){for(var E=0;E<_.length;E++){var k=_[E];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(y,k.key,k)}}function v(y,_,E){return _&&ne(y.prototype,_),E&&ne(y,E),y}function le(y,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");y.prototype=Object.create(_&&_.prototype,{constructor:{value:y,writable:!0,configurable:!0}}),_&&re(y,_)}function re(y,_){return re=Object.setPrototypeOf||function(k,$){return k.__proto__=$,k},re(y,_)}function ue(y){var _=ae();return function(){var k=_e(y),$;if(_){var D=_e(this).constructor;$=Reflect.construct(k,arguments,D)}else $=k.apply(this,arguments);return se(this,$)}}function se(y,_){return _&&(G(_)==="object"||typeof _=="function")?_:te(y)}function te(y){if(y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y}function ae(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function _e(y){return _e=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},_e(y)}function h(y,_){var E="data-clipboard-".concat(y);if(_.hasAttribute(E))return _.getAttribute(E)}var T=function(y){le(E,y);var _=ue(E);function E(k,$){var D;return B(this,E),D=_.call(this),D.resolveOptions($),D.listenClick(k),D}return v(E,[{key:"resolveOptions",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof $.action=="function"?$.action:this.defaultAction,this.target=typeof $.target=="function"?$.target:this.defaultTarget,this.text=typeof $.text=="function"?$.text:this.defaultText,this.container=G($.container)==="object"?$.container:document.body}},{key:"listenClick",value:function($){var D=this;this.listener=d()($,"click",function(ee){return D.onClick(ee)})}},{key:"onClick",value:function($){var D=$.delegateTarget||$.currentTarget,ee=this.action(D)||"copy",Me=Z({action:ee,container:this.container,target:this.target(D),text:this.text(D)});this.emit(Me?"success":"error",{action:ee,text:Me,trigger:D,clearSelection:function(){D&&D.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function($){return h("action",$)}},{key:"defaultTarget",value:function($){var D=h("target",$);if(D)return document.querySelector(D)}},{key:"defaultText",value:function($){return h("text",$)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function($){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Y($,D)}},{key:"cut",value:function($){return b($)}},{key:"isSupported",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],D=typeof $=="string"?[$]:$,ee=!!document.queryCommandSupported;return D.forEach(function(Me){ee=ee&&!!document.queryCommandSupported(Me)}),ee}}]),E}(o()),I=T},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var s=Element.prototype;s.matches=s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector}function a(o,c){for(;o&&o.nodeType!==r;){if(typeof o.matches=="function"&&o.matches(c))return o;o=o.parentNode}}i.exports=a},438:function(i,r,s){var a=s(828);function o(l,g,p,f,b){var S=d.apply(this,arguments);return l.addEventListener(p,S,b),{destroy:function(){l.removeEventListener(p,S,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?o.apply(null,arguments):typeof p=="function"?o.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(S){return o(S,g,p,f,b)}))}function d(l,g,p,f){return function(b){b.delegateTarget=a(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(s){return s!==void 0&&s instanceof HTMLElement&&s.nodeType===1},r.nodeList=function(s){var a=Object.prototype.toString.call(s);return s!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in s&&(s.length===0||r.node(s[0]))},r.string=function(s){return typeof s=="string"||s instanceof String},r.fn=function(s){var a=Object.prototype.toString.call(s);return a==="[object Function]"}},370:function(i,r,s){var a=s(879),o=s(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!a.string(f))throw new TypeError("Second argument must be a String");if(!a.fn(b))throw new TypeError("Third argument must be a Function");if(a.node(p))return d(p,f,b);if(a.nodeList(p))return l(p,f,b);if(a.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function d(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(S){S.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(S){S.removeEventListener(f,b)})}}}function g(p,f,b){return o(document.body,p,f,b)}i.exports=c},817:function(i){function r(s){var a;if(s.nodeName==="SELECT")s.focus(),a=s.value;else if(s.nodeName==="INPUT"||s.nodeName==="TEXTAREA"){var o=s.hasAttribute("readonly");o||s.setAttribute("readonly",""),s.select(),s.setSelectionRange(0,s.value.length),o||s.removeAttribute("readonly"),a=s.value}else{s.hasAttribute("contenteditable")&&s.focus();var c=window.getSelection(),d=document.createRange();d.selectNodeContents(s),c.removeAllRanges(),c.addRange(d),a=c.toString()}return a}i.exports=r},279:function(i){function r(){}r.prototype={on:function(s,a,o){var c=this.e||(this.e={});return(c[s]||(c[s]=[])).push({fn:a,ctx:o}),this},once:function(s,a,o){var c=this;function d(){c.off(s,d),a.apply(o,arguments)}return d._=a,this.on(s,d,o)},emit:function(s){var a=[].slice.call(arguments,1),o=((this.e||(this.e={}))[s]||[]).slice(),c=0,d=o.length;for(c;c{function Dr(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Dr(n)}),t}var fn=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function $r(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ve(t,...e){let n=Object.create(null);for(let i in t)n[i]=t[i];return e.forEach(function(i){for(let r in i)n[r]=i[r]}),n}var Jo="",Or=t=>!!t.scope,jo=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},si=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=$r(e)}openNode(e){if(!Or(e))return;let n=jo(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){Or(e)&&(this.buffer+=Jo)}value(){return this.buffer}span(e){this.buffer+=``}},Rr=(t={})=>{let e={children:[]};return Object.assign(e,t),e},ai=class t{constructor(){this.rootNode=Rr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let n=Rr({scope:e});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(i=>this._walk(e,i)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},oi=class extends ai{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let i=e.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new si(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Kt(t){return t?typeof t=="string"?t:t.source:null}function Pr(t){return rt("(?=",t,")")}function ec(t){return rt("(?:",t,")*")}function tc(t){return rt("(?:",t,")?")}function rt(...t){return t.map(n=>Kt(n)).join("")}function nc(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function li(...t){return"("+(nc(t).capture?"":"?:")+t.map(i=>Kt(i)).join("|")+")"}function Ur(t){return new RegExp(t.toString()+"|").exec("").length-1}function ic(t,e){let n=t&&t.exec(e);return n&&n.index===0}var rc=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ui(t,{joinWith:e}){let n=0;return t.map(i=>{n+=1;let r=n,s=Kt(i),a="";for(;s.length>0;){let o=rc.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(e)}var sc=/\b\B/,Br="[a-zA-Z]\\w*",di="[a-zA-Z_]\\w*",zr="\\b\\d+(\\.\\d+)?",Fr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Hr="\\b(0b[01]+)",ac="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",oc=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=rt(e,/.*\b/,t.binary,/\b.*/)),Ve({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},t)},qt={begin:"\\\\[\\s\\S]",relevance:0},cc={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qt]},lc={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qt]},uc={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/},mn=function(t,e,n={}){let i=Ve({scope:"comment",begin:t,end:e,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=li("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,}/);return i.contains.push({begin:rt(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},dc=mn("//","$"),pc=mn("/\\*","\\*/"),gc=mn("#","$"),fc={scope:"number",begin:zr,relevance:0},hc={scope:"number",begin:Fr,relevance:0},mc={scope:"number",begin:Hr,relevance:0},bc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qt,{begin:/\[/,end:/\]/,relevance:0,contains:[qt]}]},_c={scope:"title",begin:Br,relevance:0},Ec={scope:"title",begin:di,relevance:0},yc={begin:"\\.\\s*"+di,relevance:0},Tc=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},gn=Object.freeze({__proto__:null,APOS_STRING_MODE:cc,BACKSLASH_ESCAPE:qt,BINARY_NUMBER_MODE:mc,BINARY_NUMBER_RE:Hr,COMMENT:mn,C_BLOCK_COMMENT_MODE:pc,C_LINE_COMMENT_MODE:dc,C_NUMBER_MODE:hc,C_NUMBER_RE:Fr,END_SAME_AS_BEGIN:Tc,HASH_COMMENT_MODE:gc,IDENT_RE:Br,MATCH_NOTHING_RE:sc,METHOD_GUARD:yc,NUMBER_MODE:fc,NUMBER_RE:zr,PHRASAL_WORDS_MODE:uc,QUOTE_STRING_MODE:lc,REGEXP_MODE:bc,RE_STARTERS_RE:ac,SHEBANG:oc,TITLE_MODE:_c,UNDERSCORE_IDENT_RE:di,UNDERSCORE_TITLE_MODE:Ec});function wc(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function Sc(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function Nc(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=wc,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function Ac(t,e){Array.isArray(t.illegal)&&(t.illegal=li(...t.illegal))}function vc(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function kc(t,e){t.relevance===void 0&&(t.relevance=1)}var xc=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(i=>{delete t[i]}),t.keywords=n.keywords,t.begin=rt(n.beforeMatch,Pr(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},Oc=["of","and","for","in","not","or","if","then","parent","list","value"],Rc="keyword";function Gr(t,e,n=Rc){let i=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(s){Object.assign(i,Gr(t[s],e,s))}),i;function r(s,a){e&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){let c=o.split("|");i[c[0]]=[s,Cc(c[0],c[1])]})}}function Cc(t,e){return e?Number(e):Mc(t)?0:1}function Mc(t){return Oc.includes(t.toLowerCase())}var Cr={},it=t=>{console.error(t)},Mr=(t,...e)=>{console.log(`WARN: ${t}`,...e)},yt=(t,e)=>{Cr[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Cr[`${t}/${e}`]=!0)},hn=new Error;function Kr(t,e,{key:n}){let i=0,r=t[n],s={},a={};for(let o=1;o<=e.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=Ur(e[o-1]);t[n]=a,t[n]._emit=s,t[n]._multi=!0}function Ic(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw it("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),hn;if(typeof t.beginScope!="object"||t.beginScope===null)throw it("beginScope must be object"),hn;Kr(t,t.begin,{key:"beginScope"}),t.begin=ui(t.begin,{joinWith:""})}}function Lc(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw it("skip, excludeEnd, returnEnd not compatible with endScope: {}"),hn;if(typeof t.endScope!="object"||t.endScope===null)throw it("endScope must be object"),hn;Kr(t,t.end,{key:"endScope"}),t.end=ui(t.end,{joinWith:""})}}function Dc(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function $c(t){Dc(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),Ic(t),Lc(t)}function Pc(t){function e(a,o){return new RegExp(Kt(a),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=Ur(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let o=this.regexes.map(c=>c[1]);this.matcherRe=e(ui(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(o);if(!c)return null;let d=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[d];return c.splice(0,d),Object.assign(c,l)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];let c=new n;return this.rules.slice(o).forEach(([d,l])=>c.addRule(d,l)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let d=c.exec(o);if(this.resumingScanAtSamePosition()&&!(d&&d.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,d=l.exec(o)}return d&&(this.regexIndex+=d.position+1,this.regexIndex===this.count&&this.considerAll()),d}}function r(a){let o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){let c=a;if(a.isCompiled)return c;[Sc,vc,$c,xc].forEach(l=>l(a,o)),t.compilerExtensions.forEach(l=>l(a,o)),a.__beforeBegin=null,[Nc,Ac,kc].forEach(l=>l(a,o)),a.isCompiled=!0;let d=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),d=a.keywords.$pattern,delete a.keywords.$pattern),d=d||/\w+/,a.keywords&&(a.keywords=Gr(a.keywords,t.case_insensitive)),c.keywordPatternRe=e(d,!0),o&&(a.begin||(a.begin=/\B|\b/),c.beginRe=e(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=e(c.end)),c.terminatorEnd=Kt(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=e(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(l){return Uc(l==="self"?a:l)})),a.contains.forEach(function(l){s(l,c)}),a.starts&&s(a.starts,o),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Ve(t.classNameAliases||{}),s(t)}function qr(t){return t?t.endsWithParent||qr(t.starts):!1}function Uc(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Ve(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:qr(t)?Ve(t,{starts:t.starts?Ve(t.starts):null}):Object.isFrozen(t)?Ve(t):t}var Bc="11.9.0",ci=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},ri=$r,Ir=Ve,Lr=Symbol("nomatch"),zc=7,Wr=function(t){let e=Object.create(null),n=Object.create(null),i=[],r=!0,s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:oi};function c(h){return o.noHighlightRe.test(h)}function d(h){let T=h.className+" ";T+=h.parentNode?h.parentNode.className:"";let I=o.languageDetectRe.exec(T);if(I){let y=v(I[1]);return y||(Mr(s.replace("{}",I[1])),Mr("Falling back to no-highlight mode for this block.",h)),y?I[1]:"no-highlight"}return T.split(/\s+/).find(y=>c(y)||v(y))}function l(h,T,I){let y="",_="";typeof T=="object"?(y=h,I=T.ignoreIllegals,_=T.language):(yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),yt("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),_=h,y=T),I===void 0&&(I=!0);let E={code:y,language:_};ae("before:highlight",E);let k=E.result?E.result:g(E.language,E.code,I);return k.code=E.code,ae("after:highlight",k),k}function g(h,T,I,y){let _=Object.create(null);function E(w,O){return w.keywords[O]}function k(){if(!P.keywords){N.addText(R);return}let w=0;P.keywordPatternRe.lastIndex=0;let O=P.keywordPatternRe.exec(R),U="";for(;O;){U+=R.substring(w,O.index);let V=Se.case_insensitive?O[0].toLowerCase():O[0],de=E(P,V);if(de){let[Ie,ut]=de;if(N.addText(U),U="",_[V]=(_[V]||0)+1,_[V]<=zc&&(q+=ut),Ie.startsWith("_"))U+=O[0];else{let dt=Se.classNameAliases[Ie]||Ie;ee(O[0],dt)}}else U+=O[0];w=P.keywordPatternRe.lastIndex,O=P.keywordPatternRe.exec(R)}U+=R.substring(w),N.addText(U)}function $(){if(R==="")return;let w=null;if(typeof P.subLanguage=="string"){if(!e[P.subLanguage]){N.addText(R);return}w=g(P.subLanguage,R,!0,K[P.subLanguage]),K[P.subLanguage]=w._top}else w=f(R,P.subLanguage.length?P.subLanguage:null);P.relevance>0&&(q+=w.relevance),N.__addSublanguage(w._emitter,w.language)}function D(){P.subLanguage!=null?$():k(),R=""}function ee(w,O){w!==""&&(N.startScope(O),N.addText(w),N.endScope())}function Me(w,O){let U=1,V=O.length-1;for(;U<=V;){if(!w._emit[U]){U++;continue}let de=Se.classNameAliases[w[U]]||w[U],Ie=O[U];de?ee(Ie,de):(R=Ie,k(),R=""),U++}}function qe(w,O){return w.scope&&typeof w.scope=="string"&&N.openNode(Se.classNameAliases[w.scope]||w.scope),w.beginScope&&(w.beginScope._wrap?(ee(R,Se.classNameAliases[w.beginScope._wrap]||w.beginScope._wrap),R=""):w.beginScope._multi&&(Me(w.beginScope,O),R="")),P=Object.create(w,{parent:{value:P}}),P}function Qe(w,O,U){let V=ic(w.endRe,U);if(V){if(w["on:end"]){let de=new fn(w);w["on:end"](O,de),de.isMatchIgnored&&(V=!1)}if(V){for(;w.endsParent&&w.parent;)w=w.parent;return w}}if(w.endsWithParent)return Qe(w.parent,O,U)}function kt(w){return P.matcher.regexIndex===0?(R+=w[0],1):(Le=!0,0)}function xt(w){let O=w[0],U=w.rule,V=new fn(U),de=[U.__beforeBegin,U["on:begin"]];for(let Ie of de)if(Ie&&(Ie(w,V),V.isMatchIgnored))return kt(O);return U.skip?R+=O:(U.excludeBegin&&(R+=O),D(),!U.returnBegin&&!U.excludeBegin&&(R=O)),qe(U,w),U.returnBegin?0:O.length}function ct(w){let O=w[0],U=T.substring(w.index),V=Qe(P,w,U);if(!V)return Lr;let de=P;P.endScope&&P.endScope._wrap?(D(),ee(O,P.endScope._wrap)):P.endScope&&P.endScope._multi?(D(),Me(P.endScope,w)):de.skip?R+=O:(de.returnEnd||de.excludeEnd||(R+=O),D(),de.excludeEnd&&(R=O));do P.scope&&N.closeNode(),!P.skip&&!P.subLanguage&&(q+=P.relevance),P=P.parent;while(P!==V.parent);return V.starts&&qe(V.starts,w),de.returnEnd?0:O.length}function X(){let w=[];for(let O=P;O!==Se;O=O.parent)O.scope&&w.unshift(O.scope);w.forEach(O=>N.openNode(O))}let Oe={};function Ee(w,O){let U=O&&O[0];if(R+=w,U==null)return D(),0;if(Oe.type==="begin"&&O.type==="end"&&Oe.index===O.index&&U===""){if(R+=T.slice(O.index,O.index+1),!r){let V=new Error(`0 width match regex (${h})`);throw V.languageName=h,V.badRule=Oe.rule,V}return 1}if(Oe=O,O.type==="begin")return xt(O);if(O.type==="illegal"&&!I){let V=new Error('Illegal lexeme "'+U+'" for mode "'+(P.scope||"")+'"');throw V.mode=P,V}else if(O.type==="end"){let V=ct(O);if(V!==Lr)return V}if(O.type==="illegal"&&U==="")return 1;if(ke>1e5&&ke>O.index*3)throw new Error("potential infinite loop, way more iterations than matches");return R+=U,U.length}let Se=v(h);if(!Se)throw it(s.replace("{}",h)),new Error('Unknown language: "'+h+'"');let Mn=Pc(Se),lt="",P=y||Mn,K={},N=new o.__emitter(o);X();let R="",q=0,ie=0,ke=0,Le=!1;try{if(Se.__emitTokens)Se.__emitTokens(T,N);else{for(P.matcher.considerAll();;){ke++,Le?Le=!1:P.matcher.considerAll(),P.matcher.lastIndex=ie;let w=P.matcher.exec(T);if(!w)break;let O=T.substring(ie,w.index),U=Ee(O,w);ie=w.index+U}Ee(T.substring(ie))}return N.finalize(),lt=N.toHTML(),{language:h,value:lt,relevance:q,illegal:!1,_emitter:N,_top:P}}catch(w){if(w.message&&w.message.includes("Illegal"))return{language:h,value:ri(T),illegal:!0,relevance:0,_illegalBy:{message:w.message,index:ie,context:T.slice(ie-100,ie+100),mode:w.mode,resultSoFar:lt},_emitter:N};if(r)return{language:h,value:ri(T),illegal:!1,relevance:0,errorRaised:w,_emitter:N,_top:P};throw w}}function p(h){let T={value:ri(h),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return T._emitter.addText(h),T}function f(h,T){T=T||o.languages||Object.keys(e);let I=p(h),y=T.filter(v).filter(re).map(D=>g(D,h,!1));y.unshift(I);let _=y.sort((D,ee)=>{if(D.relevance!==ee.relevance)return ee.relevance-D.relevance;if(D.language&&ee.language){if(v(D.language).supersetOf===ee.language)return 1;if(v(ee.language).supersetOf===D.language)return-1}return 0}),[E,k]=_,$=E;return $.secondBest=k,$}function b(h,T,I){let y=T&&n[T]||I;h.classList.add("hljs"),h.classList.add(`language-${y}`)}function S(h){let T=null,I=d(h);if(c(I))return;if(ae("before:highlightElement",{el:h,language:I}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(h)),o.throwUnescapedHTML))throw new ci("One of your code blocks includes unescaped HTML.",h.innerHTML);T=h;let y=T.textContent,_=I?l(y,{language:I,ignoreIllegals:!0}):f(y);h.innerHTML=_.value,h.dataset.highlighted="yes",b(h,I,_.language),h.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(h.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),ae("after:highlightElement",{el:h,result:_,text:y})}function A(h){o=Ir(o,h)}let z=()=>{M(),yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Y(){M(),yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let C=!1;function M(){if(document.readyState==="loading"){C=!0;return}document.querySelectorAll(o.cssSelector).forEach(S)}function Z(){C&&M()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",Z,!1);function G(h,T){let I=null;try{I=T(t)}catch(y){if(it("Language definition for '{}' could not be registered.".replace("{}",h)),r)it(y);else throw y;I=a}I.name||(I.name=h),e[h]=I,I.rawDefinition=T.bind(null,t),I.aliases&&le(I.aliases,{languageName:h})}function B(h){delete e[h];for(let T of Object.keys(n))n[T]===h&&delete n[T]}function ne(){return Object.keys(e)}function v(h){return h=(h||"").toLowerCase(),e[h]||e[n[h]]}function le(h,{languageName:T}){typeof h=="string"&&(h=[h]),h.forEach(I=>{n[I.toLowerCase()]=T})}function re(h){let T=v(h);return T&&!T.disableAutodetect}function ue(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=T=>{h["before:highlightBlock"](Object.assign({block:T.el},T))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=T=>{h["after:highlightBlock"](Object.assign({block:T.el},T))})}function se(h){ue(h),i.push(h)}function te(h){let T=i.indexOf(h);T!==-1&&i.splice(T,1)}function ae(h,T){let I=h;i.forEach(function(y){y[I]&&y[I](T)})}function _e(h){return yt("10.7.0","highlightBlock will be removed entirely in v12.0"),yt("10.7.0","Please use highlightElement now."),S(h)}Object.assign(t,{highlight:l,highlightAuto:f,highlightAll:M,highlightElement:S,highlightBlock:_e,configure:A,initHighlighting:z,initHighlightingOnLoad:Y,registerLanguage:G,unregisterLanguage:B,listLanguages:ne,getLanguage:v,registerAliases:le,autoDetection:re,inherit:Ir,addPlugin:se,removePlugin:te}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=Bc,t.regex={concat:rt,lookahead:Pr,either:li,optional:tc,anyNumberOfTimes:ec};for(let h in gn)typeof gn[h]=="object"&&Dr(gn[h]);return Object.assign(t,gn),t},Tt=Wr({});Tt.newInstance=()=>Wr({});Zr.exports=Tt;Tt.HighlightJS=Tt;Tt.default=Tt});var Xr=W((Ld,Vr)=>{function Fc(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=t.inherit(s,{begin:/\(/,end:/\)/}),o=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,o]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:d}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Vr.exports=Fc});var Jr=W((Dd,Qr)=>{function Hc(t){let e=t.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(a);let o={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=t.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],S=["true","false"],A={match:/(\/[a-z._-]+)+/},z=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],Y=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],C=["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"],M=["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"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:S,built_in:[...z,...Y,"set","shopt",...C,...M]},contains:[p,t.SHEBANG(),f,l,t.HASH_COMMENT_MODE,s,A,a,o,c,d,n]}}Qr.exports=Hc});var es=W(($d,jr)=>{function Gc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",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"},z=[g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],Y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:z.concat([{begin:/\(/,end:/\)/,keywords:A,contains:z.concat(["self"]),relevance:0}]),relevance:0},C={begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:A,relevance:0},{begin:f,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:g,strings:d,keywords:A}}}jr.exports=Gc});var ns=W((Pd,ts)=>{function Kc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",b=["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"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","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"],z=["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"],M={type:S,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},Z={className:"function.dispatch",relevance:0,keywords:{_hint:z},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},G=[Z,g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],B={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:M,contains:G.concat([{begin:/\(/,end:/\)/,keywords:M,contains:G.concat(["self"]),relevance:0}]),relevance:0},ne={className:"function",begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:M,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:M,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:M,illegal:"",keywords:M,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:M},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}ts.exports=Kc});var rs=W((Ud,is)=>{function qc(t){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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"],s=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:e,literal:i},o=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},l=t.inherit(d,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=t.inherit(g,{illegal:/\n/}),f={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,p]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},S=t.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});g.contains=[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.C_BLOCK_COMMENT_MODE],p.contains=[S,f,l,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let A={variants:[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},z={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},Y=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Y+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,z],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[A,c,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},C]}}is.exports=qc});var as=W((Bd,ss)=>{var Wc=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Zc=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Yc=["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"],Vc=["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"],Xc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Qc=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Jc(t){let e=t.regex,n=Wc(t),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Vc.join("|")+")"},{begin:":(:)?("+Xc.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Yc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Zc.join("|")+")\\b"}]}}ss.exports=Jc});var cs=W((zd,os)=>{function jc(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},d={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=t.inherit(d,{contains:[]}),p=t.inherit(l,{contains:[]});d.contains.push(p),l.contains.push(g);let f=[n,c];return[d,l,g,p].forEach(A=>{A.contains=A.contains.concat(f)}),f=f.concat(d,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},n,s,d,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,a]}}os.exports=jc});var us=W((Fd,ls)=>{function el(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}ls.exports=el});var ps=W((Hd,ds)=>{function tl(t){let e=t.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],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"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},d=[t.COMMENT("#","$",{contains:[o]}),t.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:a},g={className:"string",contains:[t.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},S={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},G=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[S]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:n}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,d),relevance:0}].concat(c,d);l.contains=G,S.contains=G;let B="[>?]>",ne="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",v="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",le=[{begin:/^\s*=>/,starts:{end:"$",contains:G}},{className:"meta.prompt",begin:"^("+B+"|"+ne+"|"+v+")(?=[ ])",starts:{end:"$",keywords:a,contains:G}}];return d.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(le).concat(d).concat(G)}}ds.exports=tl});var fs=W((Gd,gs)=>{function nl(t){let s={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"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"{function il(t){let e=t.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(n,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}hs.exports=il});var _s=W((qd,bs)=>{function rl(t){let e=t.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},i=t.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[i,s,r,a,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,d=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,d,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,o,s,r,a,n]}}]}}bs.exports=rl});var ws=W((Wd,Ts)=>{var wt="[0-9](_*[0-9])*",bn=`\\.(${wt})`,_n="[0-9a-fA-F](_*[0-9a-fA-F])*",Es={className:"number",variants:[{begin:`(\\b(${wt})((${bn})|\\.)?|(${bn}))[eE][+-]?(${wt})[fFdD]?\\b`},{begin:`\\b(${wt})((${bn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${bn})[fFdD]?\\b`},{begin:`\\b(${wt})[fFdD]\\b`},{begin:`\\b0[xX]((${_n})\\.?|(${_n})?\\.(${_n}))[pP][+-]?(${wt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${_n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function ys(t,e,n){return n===-1?"":t.replace(e,i=>ys(t,e,n-1))}function sl(t){let e=t.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=n+ys("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[t.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[t.BACKSLASH_ESCAPE]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",t.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,Es,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},Es,d]}}Ts.exports=sl});var xs=W((Zd,ks)=>{var Ss="[A-Za-z$_][0-9A-Za-z$_]*",al=["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"],ol=["true","false","null","undefined","NaN","Infinity"],Ns=["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"],As=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],vs=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],cl=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ll=[].concat(vs,Ns,As);function ul(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:Ss,keyword:al,literal:ol,built_in:ll,"variable.language":cl},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...Ns,...As]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...vs,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}ks.exports=ul});var Rs=W((Yd,Os)=>{function dl(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",keywords:{literal:i},contains:[e,n,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}Os.exports=dl});var Ms=W((Vd,Cs)=>{var St="[0-9](_*[0-9])*",En=`\\.(${St})`,yn="[0-9a-fA-F](_*[0-9a-fA-F])*",pl={className:"number",variants:[{begin:`(\\b(${St})((${En})|\\.)?|(${En}))[eE][+-]?(${St})[fFdD]?\\b`},{begin:`\\b(${St})((${En})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${En})[fFdD]?\\b`},{begin:`\\b(${St})[fFdD]\\b`},{begin:`\\b0[xX]((${yn})\\.?|(${yn})?\\.(${yn}))[pP][+-]?(${St})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function gl(t){let e={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",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[t.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+t.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[t.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);let o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+t.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+t.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[t.inherit(a,{className:"string"}),"self"]}]},d=pl,l=t.COMMENT("/\\*","\\*/",{contains:[t.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:t.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),t.C_LINE_COMMENT_MODE,l,n,i,o,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:t.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[t.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,t.C_LINE_COMMENT_MODE,l],relevance:0},t.C_LINE_COMMENT_MODE,l,o,c,a,t.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,t.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},t.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},d]}}Cs.exports=gl});var $s=W((Xd,Ds)=>{var fl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),hl=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ml=["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"],Is=["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"],Ls=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],bl=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),_l=Is.concat(Ls);function El(t){let e=fl(t),n=_l,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(C){return{className:"string",begin:"~?"+C+".*?"+C}},d=function(C,M,Z){return{className:C,begin:M,relevance:Z}},l={$pattern:/[a-z-]+/,keyword:i,attribute:ml.join(" ")},g={begin:"\\(",end:"\\)",contains:o,keywords:l,relevance:0};o.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,d("variable","@@?"+r,10),d("variable","@\\{"+r+"\\}"),d("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=o.concat({begin:/\{/,end:/\}/,contains:a}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+bl.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},S={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:o,relevance:0}},A={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},z={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,f,d("keyword","all\\b"),d("variable","@\\{"+r+"\\}"),{begin:"\\b("+hl.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,d("selector-tag",s,0),d("selector-id","#"+s),d("selector-class","\\."+s,0),d("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Is.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Ls.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},Y={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[z]};return a.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,S,A,Y,b,z,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}Ds.exports=El});var Us=W((Qd,Ps)=>{function yl(t){let e="\\[=*\\[",n="\\]=*\\]",i={begin:e,end:n,contains:["self"]},r=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,n,{contains:[i],relevance:10})];return{name:"Lua",keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",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"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:n,contains:[i],relevance:5}])}}Ps.exports=yl});var zs=W((Jd,Bs)=>{function Tl(t){let e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%{function wl(t){let e=t.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","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","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","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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[t.BACKSLASH_ESCAPE,s,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(f,b,S="\\1")=>{let A=S==="\\1"?S:e.concat(S,b);return e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,A,/(?:\\.|[^\\\/])*?/,S,i)},g=(f,b,S)=>e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,S,i),p=[o,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",e.either(...d,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:g("(?:m|qr)?",/\//,/\//)},{begin:g("m|qr",e.either(...d,{capture:!0}),/\1/)},{begin:g("m|qr",/\(/,/\)/)},{begin:g("m|qr",/\[/,/\]/)},{begin:g("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}Fs.exports=wl});var Ks=W((ep,Gs)=>{function Sl(t){let e={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,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"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}Gs.exports=Sl});var Ws=W((tp,qs)=>{function Nl(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(o)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(se,te)=>{te.data._beginMatch=se[1]||se[2]},"on:end":(se,te)=>{te.data._beginMatch!==se[1]&&te.ignoreMatch()}},g=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +]`,f={scope:"string",variants:[d,c,l,g]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},S=["false","null","true"],A=["__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"],z=["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"],C={keyword:A,literal:(se=>{let te=[];return se.forEach(ae=>{te.push(ae),ae.toLowerCase()===ae?te.push(ae.toUpperCase()):te.push(ae.toLowerCase())}),te})(S),built_in:z},M=se=>se.map(te=>te.replace(/\|\d+$/,"")),Z={variants:[{match:[/new/,e.concat(p,"+"),e.concat("(?!",M(z).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},G=e.concat(i,"\\b(?!\\()"),B={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},ne={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[ne,s,B,t.C_BLOCK_COMMENT_MODE,f,b,Z]},le={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",M(A).join("\\b|"),"|",M(z).join("\\b|"),"\\b)"),i,e.concat(p,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(le);let re=[ne,B,t.C_BLOCK_COMMENT_MODE,f,b,Z],ue={begin:e.concat(/#\[\s*/,r),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:S,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:S,keyword:["new","array"]},contains:["self",...re]},...re,{scope:"meta",match:r}]};return{case_insensitive:!1,keywords:C,contains:[ue,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,le,B,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},Z,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",s,B,t.C_BLOCK_COMMENT_MODE,f,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,b]}}qs.exports=Nl});var Ys=W((np,Zs)=>{function Al(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Zs.exports=Al});var Xs=W((ip,Vs)=>{function vl(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Vs.exports=vl});var Js=W((rp,Qs)=>{function kl(t){let e=t.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,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"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},d={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,l,d]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},z={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,S,g,t.HASH_COMMENT_MODE]}]};return d.contains=[g,S,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,S,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},g,A,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[z]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,z,g]}]}}Qs.exports=kl});var ea=W((sp,js)=>{function xl(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}js.exports=xl});var na=W((ap,ta)=>{function Ol(t){let e=t.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",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"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}ta.exports=Ol});var ra=W((op,ia)=>{function Rl(t){let e=t.regex,n={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,t.IDENT_RE,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",r=["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","unsafe","unsized","use","virtual","where","while","yield"],s=["true","false","Some","None","Ok","Err"],a=["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!"],o=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:o,keyword:r,literal:s,built_in:a},illegal:""},n]}}ia.exports=Rl});var aa=W((cp,sa)=>{var Cl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Ml=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Il=["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"],Ll=["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"],Dl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],$l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Pl(t){let e=Cl(t),n=Dl,i=Ll,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Ml.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$l.join("|")+")\\b"},{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"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,o,e.HEXCOLOR,e.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Il.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}sa.exports=Pl});var ca=W((lp,oa)=>{function Ul(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}oa.exports=Ul});var ua=W((up,la)=>{function Bl(t){let e=t.regex,n=t.COMMENT("--","$"),i={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["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"],c=["add","asc","collation","desc","final","first","last","view"],d=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...d,...c].filter(C=>!l.includes(C)),S={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},A={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},z={begin:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function Y(C,{exceptions:M,when:Z}={}){let G=Z;return M=M||[],C.map(B=>B.match(/\|\d+$/)||M.includes(B)?B:G(B)?`${B}|0`:B)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:Y(b,{when:C=>C.length<3}),literal:s,type:o,built_in:g},contains:[{begin:e.either(...p),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:b.concat(p),literal:s,type:o}},{className:"type",begin:e.either(...a)},z,S,i,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,n,A]}}la.exports=Bl});var Ea=W((dp,_a)=>{function fa(t){return t?typeof t=="string"?t:t.source:null}function Tn(t){return J("(?=",t,")")}function J(...t){return t.map(n=>fa(n)).join("")}function zl(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function ve(...t){return"("+(zl(t).capture?"":"?:")+t.map(i=>fa(i)).join("|")+")"}var hi=t=>J(/\b/,t,/\w$/.test(t)?/\b/:/\B/),Fl=["Protocol","Type"].map(hi),da=["init","self"].map(hi),Hl=["Any","Self"],pi=["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","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"],pa=["false","nil","true"],Gl=["assignment","associativity","higherThan","left","lowerThan","none","right"],Kl=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],ga=["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"],ha=ve(/[/=\-+!*%<>&|^~?]/,/[\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]/),ma=ve(ha,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),gi=J(ha,ma,"*"),ba=ve(/[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]/),wn=ve(ba,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=J(ba,wn,"*"),fi=J(/[A-Z]/,wn,"*"),ql=["attached","autoclosure",J(/convention\(/,ve("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",J(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Wl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Zl(t){let e={match:/\s+/,relevance:0},n=t.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[t.C_LINE_COMMENT_MODE,n],r={match:[/\./,ve(...Fl,...da)],className:{2:"keyword"}},s={match:J(/\./,ve(...pi)),relevance:0},a=pi.filter(X=>typeof X=="string").concat(["_|0"]),o=pi.filter(X=>typeof X!="string").concat(Hl).map(hi),c={variants:[{className:"keyword",match:ve(...o,...da)}]},d={$pattern:ve(/\b\w+/,/#\w+/),keyword:a.concat(Kl),literal:pa},l=[r,s,c],g={match:J(/\./,ve(...ga)),relevance:0},p={className:"built_in",match:J(/\b/,ve(...ga),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},S={className:"operator",relevance:0,variants:[{match:gi},{match:`\\.(\\.|${ma})+`}]},A=[b,S],z="([0-9]_*)+",Y="([0-9a-fA-F]_*)+",C={className:"number",relevance:0,variants:[{match:`\\b(${z})(\\.(${z}))?([eE][+-]?(${z}))?\\b`},{match:`\\b0x(${Y})(\\.(${Y}))?([pP][+-]?(${z}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(X="")=>({className:"subst",variants:[{match:J(/\\/,X,/[0\\tnr"']/)},{match:J(/\\/,X,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Z=(X="")=>({className:"subst",match:J(/\\/,X,/[\t ]*(?:[\r\n]|\r\n)/)}),G=(X="")=>({className:"subst",label:"interpol",begin:J(/\\/,X,/\(/),end:/\)/}),B=(X="")=>({begin:J(X,/"""/),end:J(/"""/,X),contains:[M(X),Z(X),G(X)]}),ne=(X="")=>({begin:J(X,/"/),end:J(/"/,X),contains:[M(X),G(X)]}),v={className:"string",variants:[B(),B("#"),B("##"),B("###"),ne(),ne("#"),ne("##"),ne("###")]},le=[t.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}],re={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:le},ue=X=>{let Oe=J(X,/\//),Ee=J(/\//,X);return{begin:Oe,end:Ee,contains:[...le,{scope:"comment",begin:`#(?!.*${Ee})`,end:/$/}]}},se={scope:"regexp",variants:[ue("###"),ue("##"),ue("#"),re]},te={match:J(/`/,Fe,/`/)},ae={className:"variable",match:/\$\d+/},_e={className:"variable",match:`\\$${wn}+`},h=[te,ae,_e],T={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Wl,contains:[...A,C,v]}]}},I={scope:"keyword",match:J(/@/,ve(...ql))},y={scope:"meta",match:J(/@/,Fe)},_=[T,I,y],E={match:Tn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:J(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wn,"+")},{className:"type",match:fi,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:J(/\s+&\s+/,Tn(fi)),relevance:0}]},k={begin://,keywords:d,contains:[...i,...l,..._,b,E]};E.contains.push(k);let $={match:J(Fe,/\s*:/),keywords:"_|0",relevance:0},D={begin:/\(/,end:/\)/,relevance:0,keywords:d,contains:["self",$,...i,se,...l,...f,...A,C,v,...h,..._,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},Me={begin:ve(Tn(J(Fe,/\s*:/)),Tn(J(Fe,/\s+/,Fe,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Fe}]},qe={begin:/\(/,end:/\)/,keywords:d,contains:[Me,...i,...l,...A,C,v,..._,E,D],endsParent:!0,illegal:/["']/},Qe={match:[/(func|macro)/,/\s+/,ve(te.match,Fe,gi)],className:{1:"keyword",3:"title.function"},contains:[ee,qe,e],illegal:[/\[/,/%/]},kt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,qe,e],illegal:/\[|%/},xt={match:[/operator/,/\s+/,gi],className:{1:"keyword",3:"title"}},ct={begin:[/precedencegroup/,/\s+/,fi],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Gl,...pa],end:/}/};for(let X of v.variants){let Oe=X.contains.find(Se=>Se.label==="interpol");Oe.keywords=d;let Ee=[...l,...f,...A,C,v,...h];Oe.contains=[...Ee,{begin:/\(/,end:/\)/,contains:["self",...Ee]}]}return{name:"Swift",keywords:d,contains:[...i,Qe,kt,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:d,contains:[t.inherit(t.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...l]},xt,ct,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},se,...l,...f,...A,C,v,...h,..._,E,D]}}_a.exports=Zl});var Ta=W((pp,ya)=>{function Yl(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o="[0-9]{4}(-[0-9][0-9]){0,2}",c="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",g={className:"number",begin:"\\b"+o+c+d+l+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},f={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},S=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,b,s],A=[...S];return A.pop(),A.push(a),p.contains=A,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:S}}ya.exports=Yl});var Ra=W((gp,Oa)=>{var Sn="[A-Za-z$_][0-9A-Za-z$_]*",wa=["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"],Sa=["true","false","null","undefined","NaN","Infinity"],Na=["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"],Aa=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],va=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ka=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],xa=[].concat(va,Na,Aa);function Vl(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:Sn,keyword:wa,literal:Sa,built_in:xa,"variable.language":ka},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...Na,...Aa]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...va,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}function Xl(t){let e=Vl(t),n=Sn,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[e.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},o=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],c={$pattern:Sn,keyword:wa.concat(o),literal:Sa,built_in:xa.concat(i),"variable.language":ka},d={className:"meta",begin:"@"+n},l=(p,f,b)=>{let S=p.contains.findIndex(A=>A.label===f);if(S===-1)throw new Error("can not find mode to replace");p.contains.splice(S,1,b)};Object.assign(e.keywords,c),e.exports.PARAMS_CONTAINS.push(d),e.contains=e.contains.concat([d,r,s]),l(e,"shebang",t.SHEBANG()),l(e,"use_strict",a);let g=e.contains.find(p=>p.label==="func.def");return g.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}Oa.exports=Xl});var Ma=W((fp,Ca)=>{function Ql(t){let e=t.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(s,r),/ *#/)},{begin:e.concat(/# */,o,/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,e.either(s,r),/ +/,e.either(a,o),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{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",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",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,c,d,l,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}Ca.exports=Ql});var La=W((hp,Ia)=>{function Jl(t){t.regex;let e=t.COMMENT(/\(;/,/;\)/);e.contains.push("self");let n=t.COMMENT(/;;/,/$/),i=["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"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,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/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",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/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,t.QUOTE_STRING_MODE,c,d,o]}}Ia.exports=Jl});var $a=W((mp,Da)=>{var H=Yr();H.registerLanguage("xml",Xr());H.registerLanguage("bash",Jr());H.registerLanguage("c",es());H.registerLanguage("cpp",ns());H.registerLanguage("csharp",rs());H.registerLanguage("css",as());H.registerLanguage("markdown",cs());H.registerLanguage("diff",us());H.registerLanguage("ruby",ps());H.registerLanguage("go",fs());H.registerLanguage("graphql",ms());H.registerLanguage("ini",_s());H.registerLanguage("java",ws());H.registerLanguage("javascript",xs());H.registerLanguage("json",Rs());H.registerLanguage("kotlin",Ms());H.registerLanguage("less",$s());H.registerLanguage("lua",Us());H.registerLanguage("makefile",zs());H.registerLanguage("perl",Hs());H.registerLanguage("objectivec",Ks());H.registerLanguage("php",Ws());H.registerLanguage("php-template",Ys());H.registerLanguage("plaintext",Xs());H.registerLanguage("python",Js());H.registerLanguage("python-repl",ea());H.registerLanguage("r",na());H.registerLanguage("rust",ra());H.registerLanguage("scss",aa());H.registerLanguage("shell",ca());H.registerLanguage("sql",ua());H.registerLanguage("swift",Ea());H.registerLanguage("yaml",Ta());H.registerLanguage("typescript",Ra());H.registerLanguage("vbnet",Ma());H.registerLanguage("wasm",La());H.HighlightJS=H;H.default=H;Da.exports=H});var eo=W((Ai,vi)=>{(function(t,e){typeof Ai=="object"&&typeof vi<"u"?vi.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(Ai,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:r}=Object,{freeze:s,seal:a,create:o}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;s||(s=function(N){return N}),a||(a=function(N){return N}),c||(c=function(N,R,q){return N.apply(R,q)}),d||(d=function(N,R){return new N(...R)});let l=B(Array.prototype.forEach),g=B(Array.prototype.pop),p=B(Array.prototype.push),f=B(String.prototype.toLowerCase),b=B(String.prototype.toString),S=B(String.prototype.match),A=B(String.prototype.replace),z=B(String.prototype.indexOf),Y=B(String.prototype.trim),C=B(Object.prototype.hasOwnProperty),M=B(RegExp.prototype.test),Z=ne(TypeError);function G(K){return typeof K=="number"&&isNaN(K)}function B(K){return function(N){for(var R=arguments.length,q=new Array(R>1?R-1:0),ie=1;ie2&&arguments[2]!==void 0?arguments[2]:f;e&&e(K,null);let q=N.length;for(;q--;){let ie=N[q];if(typeof ie=="string"){let ke=R(ie);ke!==ie&&(n(N)||(N[q]=ke),ie=ke)}K[ie]=!0}return K}function le(K){for(let N=0;N/gm),ee=a(/\${[\w\W]*}/gm),Me=a(/^data-[\-\w.\u00B7-\uFFFF]/),qe=a(/^aria-[\-\w]+$/),Qe=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kt=a(/^(?:\w+script|data):/i),xt=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ct=a(/^html$/i),X=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Oe=Object.freeze({__proto__:null,MUSTACHE_EXPR:$,ERB_EXPR:D,TMPLIT_EXPR:ee,DATA_ATTR:Me,ARIA_ATTR:qe,IS_ALLOWED_URI:Qe,IS_SCRIPT_OR_DATA:kt,ATTR_WHITESPACE:xt,DOCTYPE_NAME:ct,CUSTOM_ELEMENT:X});let Ee={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Se=function(){return typeof window>"u"?null:window},Mn=function(N,R){if(typeof N!="object"||typeof N.createPolicy!="function")return null;let q=null,ie="data-tt-policy-suffix";R&&R.hasAttribute(ie)&&(q=R.getAttribute(ie));let ke="dompurify"+(q?"#"+q:"");try{return N.createPolicy(ke,{createHTML(Le){return Le},createScriptURL(Le){return Le}})}catch{return console.warn("TrustedTypes policy "+ke+" could not be created."),null}};function lt(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Se(),N=L=>lt(L);if(N.version="3.1.4",N.removed=[],!K||!K.document||K.document.nodeType!==Ee.document)return N.isSupported=!1,N;let{document:R}=K,q=R,ie=q.currentScript,{DocumentFragment:ke,HTMLTemplateElement:Le,Node:w,Element:O,NodeFilter:U,NamedNodeMap:V=K.NamedNodeMap||K.MozNamedAttrMap,HTMLFormElement:de,DOMParser:Ie,trustedTypes:ut}=K,dt=O.prototype,go=ue(dt,"cloneNode"),fo=ue(dt,"nextSibling"),ho=ue(dt,"childNodes"),Ot=ue(dt,"parentNode");if(typeof Le=="function"){let L=R.createElement("template");L.content&&L.content.ownerDocument&&(R=L.content.ownerDocument)}let Te,Rt="",{implementation:In,createNodeIterator:mo,createDocumentFragment:bo,getElementsByTagName:_o}=R,{importNode:Eo}=q,De={};N.isSupported=typeof t=="function"&&typeof Ot=="function"&&In&&In.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Ln,ERB_EXPR:Dn,TMPLIT_EXPR:$n,DATA_ATTR:yo,ARIA_ATTR:To,IS_SCRIPT_OR_DATA:wo,ATTR_WHITESPACE:Mi,CUSTOM_ELEMENT:So}=Oe,{IS_ALLOWED_URI:Ii}=Oe,pe=null,Li=v({},[...se,...te,...ae,...h,...I]),ge=null,Di=v({},[...y,..._,...E,...k]),oe=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ct=null,Pn=null,$i=!0,Un=!0,Pi=!1,Ui=!0,pt=!1,Bn=!0,Je=!1,zn=!1,Fn=!1,gt=!1,Jt=!1,jt=!1,Bi=!0,zi=!1,No="user-content-",Hn=!0,Mt=!1,ft={},ht=null,Fi=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Hi=null,Gi=v({},["audio","video","img","source","image","track"]),Gn=null,Ki=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),en="http://www.w3.org/1998/Math/MathML",tn="http://www.w3.org/2000/svg",Pe="http://www.w3.org/1999/xhtml",mt=Pe,Kn=!1,qn=null,Ao=v({},[en,tn,Pe],b),It=null,vo=["application/xhtml+xml","text/html"],ko="text/html",fe=null,bt=null,qi=255,xo=R.createElement("form"),Wi=function(u){return u instanceof RegExp||u instanceof Function},Wn=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(bt&&bt===u)){if((!u||typeof u!="object")&&(u={}),u=re(u),It=vo.indexOf(u.PARSER_MEDIA_TYPE)===-1?ko:u.PARSER_MEDIA_TYPE,fe=It==="application/xhtml+xml"?b:f,pe=C(u,"ALLOWED_TAGS")?v({},u.ALLOWED_TAGS,fe):Li,ge=C(u,"ALLOWED_ATTR")?v({},u.ALLOWED_ATTR,fe):Di,qn=C(u,"ALLOWED_NAMESPACES")?v({},u.ALLOWED_NAMESPACES,b):Ao,Gn=C(u,"ADD_URI_SAFE_ATTR")?v(re(Ki),u.ADD_URI_SAFE_ATTR,fe):Ki,Hi=C(u,"ADD_DATA_URI_TAGS")?v(re(Gi),u.ADD_DATA_URI_TAGS,fe):Gi,ht=C(u,"FORBID_CONTENTS")?v({},u.FORBID_CONTENTS,fe):Fi,Ct=C(u,"FORBID_TAGS")?v({},u.FORBID_TAGS,fe):{},Pn=C(u,"FORBID_ATTR")?v({},u.FORBID_ATTR,fe):{},ft=C(u,"USE_PROFILES")?u.USE_PROFILES:!1,$i=u.ALLOW_ARIA_ATTR!==!1,Un=u.ALLOW_DATA_ATTR!==!1,Pi=u.ALLOW_UNKNOWN_PROTOCOLS||!1,Ui=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pt=u.SAFE_FOR_TEMPLATES||!1,Bn=u.SAFE_FOR_XML!==!1,Je=u.WHOLE_DOCUMENT||!1,gt=u.RETURN_DOM||!1,Jt=u.RETURN_DOM_FRAGMENT||!1,jt=u.RETURN_TRUSTED_TYPE||!1,Fn=u.FORCE_BODY||!1,Bi=u.SANITIZE_DOM!==!1,zi=u.SANITIZE_NAMED_PROPS||!1,Hn=u.KEEP_CONTENT!==!1,Mt=u.IN_PLACE||!1,Ii=u.ALLOWED_URI_REGEXP||Qe,mt=u.NAMESPACE||Pe,oe=u.CUSTOM_ELEMENT_HANDLING||{},u.CUSTOM_ELEMENT_HANDLING&&Wi(u.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(oe.tagNameCheck=u.CUSTOM_ELEMENT_HANDLING.tagNameCheck),u.CUSTOM_ELEMENT_HANDLING&&Wi(u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(oe.attributeNameCheck=u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(oe.allowCustomizedBuiltInElements=u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pt&&(Un=!1),Jt&&(gt=!0),ft&&(pe=v({},I),ge=[],ft.html===!0&&(v(pe,se),v(ge,y)),ft.svg===!0&&(v(pe,te),v(ge,_),v(ge,k)),ft.svgFilters===!0&&(v(pe,ae),v(ge,_),v(ge,k)),ft.mathMl===!0&&(v(pe,h),v(ge,E),v(ge,k))),u.ADD_TAGS&&(pe===Li&&(pe=re(pe)),v(pe,u.ADD_TAGS,fe)),u.ADD_ATTR&&(ge===Di&&(ge=re(ge)),v(ge,u.ADD_ATTR,fe)),u.ADD_URI_SAFE_ATTR&&v(Gn,u.ADD_URI_SAFE_ATTR,fe),u.FORBID_CONTENTS&&(ht===Fi&&(ht=re(ht)),v(ht,u.FORBID_CONTENTS,fe)),Hn&&(pe["#text"]=!0),Je&&v(pe,["html","head","body"]),pe.table&&(v(pe,["tbody"]),delete Ct.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Te=u.TRUSTED_TYPES_POLICY,Rt=Te.createHTML("")}else Te===void 0&&(Te=Mn(ut,ie)),Te!==null&&typeof Rt=="string"&&(Rt=Te.createHTML(""));s&&s(u),bt=u}},Zi=v({},["mi","mo","mn","ms","mtext"]),Yi=v({},["foreignobject","annotation-xml"]),Oo=v({},["title","style","font","a","script"]),Vi=v({},[...te,...ae,..._e]),Xi=v({},[...h,...T]),Ro=function(u){let m=Ot(u);(!m||!m.tagName)&&(m={namespaceURI:mt,tagName:"template"});let x=f(u.tagName),F=f(m.tagName);return qn[u.namespaceURI]?u.namespaceURI===tn?m.namespaceURI===Pe?x==="svg":m.namespaceURI===en?x==="svg"&&(F==="annotation-xml"||Zi[F]):!!Vi[x]:u.namespaceURI===en?m.namespaceURI===Pe?x==="math":m.namespaceURI===tn?x==="math"&&Yi[F]:!!Xi[x]:u.namespaceURI===Pe?m.namespaceURI===tn&&!Yi[F]||m.namespaceURI===en&&!Zi[F]?!1:!Xi[x]&&(Oo[x]||!Vi[x]):!!(It==="application/xhtml+xml"&&qn[u.namespaceURI]):!1},Re=function(u){p(N.removed,{element:u});try{u.parentNode.removeChild(u)}catch{u.remove()}},nn=function(u,m){try{p(N.removed,{attribute:m.getAttributeNode(u),from:m})}catch{p(N.removed,{attribute:null,from:m})}if(m.removeAttribute(u),u==="is"&&!ge[u])if(gt||Jt)try{Re(m)}catch{}else try{m.setAttribute(u,"")}catch{}},Qi=function(u){let m=null,x=null;if(Fn)u=""+u;else{let he=S(u,/^[\r\n\t ]+/);x=he&&he[0]}It==="application/xhtml+xml"&&mt===Pe&&(u=''+u+"");let F=Te?Te.createHTML(u):u;if(mt===Pe)try{m=new Ie().parseFromString(F,It)}catch{}if(!m||!m.documentElement){m=In.createDocument(mt,"template",null);try{m.documentElement.innerHTML=Kn?Rt:F}catch{}}let ye=m.body||m.documentElement;return u&&x&&ye.insertBefore(R.createTextNode(x),ye.childNodes[0]||null),mt===Pe?_o.call(m,Je?"html":"body")[0]:Je?m.documentElement:ye},Ji=function(u){return mo.call(u.ownerDocument||u,u,U.SHOW_ELEMENT|U.SHOW_COMMENT|U.SHOW_TEXT|U.SHOW_PROCESSING_INSTRUCTION|U.SHOW_CDATA_SECTION,null)},ji=function(u){return u instanceof de&&(typeof u.__depth<"u"&&typeof u.__depth!="number"||typeof u.__removalCount<"u"&&typeof u.__removalCount!="number"||typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||!(u.attributes instanceof V)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function")},er=function(u){return typeof w=="function"&&u instanceof w},Ue=function(u,m,x){De[u]&&l(De[u],F=>{F.call(N,m,x,bt)})},tr=function(u){let m=null;if(Ue("beforeSanitizeElements",u,null),ji(u))return Re(u),!0;let x=fe(u.nodeName);if(Ue("uponSanitizeElement",u,{tagName:x,allowedTags:pe}),u.hasChildNodes()&&!er(u.firstElementChild)&&M(/<[/\w]/g,u.innerHTML)&&M(/<[/\w]/g,u.textContent)||u.nodeType===Ee.progressingInstruction||Bn&&u.nodeType===Ee.comment&&M(/<[/\w]/g,u.data))return Re(u),!0;if(!pe[x]||Ct[x]){if(!Ct[x]&&ir(x)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x)))return!1;if(Hn&&!ht[x]){let F=Ot(u)||u.parentNode,ye=ho(u)||u.childNodes;if(ye&&F){let he=ye.length;for(let Ne=he-1;Ne>=0;--Ne){let Ae=go(ye[Ne],!0);Ae.__removalCount=(u.__removalCount||0)+1,F.insertBefore(Ae,fo(u))}}}return Re(u),!0}return u instanceof O&&!Ro(u)||(x==="noscript"||x==="noembed"||x==="noframes")&&M(/<\/no(script|embed|frames)/i,u.innerHTML)?(Re(u),!0):(pt&&u.nodeType===Ee.text&&(m=u.textContent,l([Ln,Dn,$n],F=>{m=A(m,F," ")}),u.textContent!==m&&(p(N.removed,{element:u.cloneNode()}),u.textContent=m)),Ue("afterSanitizeElements",u,null),!1)},nr=function(u,m,x){if(Bi&&(m==="id"||m==="name")&&(x in R||x in xo||x==="__depth"||x==="__removalCount"))return!1;if(!(Un&&!Pn[m]&&M(yo,m))){if(!($i&&M(To,m))){if(!ge[m]||Pn[m]){if(!(ir(u)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,u)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(u))&&(oe.attributeNameCheck instanceof RegExp&&M(oe.attributeNameCheck,m)||oe.attributeNameCheck instanceof Function&&oe.attributeNameCheck(m))||m==="is"&&oe.allowCustomizedBuiltInElements&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x))))return!1}else if(!Gn[m]){if(!M(Ii,A(x,Mi,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&u!=="script"&&z(x,"data:")===0&&Hi[u])){if(!(Pi&&!M(wo,A(x,Mi,"")))){if(x)return!1}}}}}}return!0},ir=function(u){return u!=="annotation-xml"&&S(u,So)},rr=function(u){Ue("beforeSanitizeAttributes",u,null);let{attributes:m}=u;if(!m)return;let x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge},F=m.length;for(;F--;){let ye=m[F],{name:he,namespaceURI:Ne,value:Ae}=ye,Lt=fe(he),we=he==="value"?Ae:Y(Ae);if(x.attrName=Lt,x.attrValue=we,x.keepAttr=!0,x.forceKeepAttr=void 0,Ue("uponSanitizeAttribute",u,x),we=x.attrValue,x.forceKeepAttr||(nn(he,u),!x.keepAttr))continue;if(!Ui&&M(/\/>/i,we)){nn(he,u);continue}if(Bn&&M(/((--!?|])>)|<\/(style|title)/i,we)){nn(he,u);continue}pt&&l([Ln,Dn,$n],ar=>{we=A(we,ar," ")});let sr=fe(u.nodeName);if(nr(sr,Lt,we)){if(zi&&(Lt==="id"||Lt==="name")&&(nn(he,u),we=No+we),Te&&typeof ut=="object"&&typeof ut.getAttributeType=="function"&&!Ne)switch(ut.getAttributeType(sr,Lt)){case"TrustedHTML":{we=Te.createHTML(we);break}case"TrustedScriptURL":{we=Te.createScriptURL(we);break}}try{Ne?u.setAttributeNS(Ne,he,we):u.setAttribute(he,we),ji(u)?Re(u):g(N.removed)}catch{}}}Ue("afterSanitizeAttributes",u,null)},Co=function L(u){let m=null,x=Ji(u);for(Ue("beforeSanitizeShadowDOM",u,null);m=x.nextNode();){if(Ue("uponSanitizeShadowNode",m,null),tr(m))continue;let F=Ot(m);m.nodeType===Ee.element&&(F&&F.__depth?m.__depth=(m.__removalCount||0)+F.__depth+1:m.__depth=1),(m.__depth>=qi||m.__depth<0||G(m.__depth))&&Re(m),m.content instanceof ke&&(m.content.__depth=m.__depth,L(m.content)),rr(m)}Ue("afterSanitizeShadowDOM",u,null)};return N.sanitize=function(L){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,x=null,F=null,ye=null;if(Kn=!L,Kn&&(L=""),typeof L!="string"&&!er(L))if(typeof L.toString=="function"){if(L=L.toString(),typeof L!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!N.isSupported)return L;if(zn||Wn(u),N.removed=[],typeof L=="string"&&(Mt=!1),Mt){if(L.nodeName){let Ae=fe(L.nodeName);if(!pe[Ae]||Ct[Ae])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(L instanceof w)m=Qi(""),x=m.ownerDocument.importNode(L,!0),x.nodeType===Ee.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?m=x:m.appendChild(x);else{if(!gt&&!pt&&!Je&&L.indexOf("<")===-1)return Te&&jt?Te.createHTML(L):L;if(m=Qi(L),!m)return gt?null:jt?Rt:""}m&&Fn&&Re(m.firstChild);let he=Ji(Mt?L:m);for(;F=he.nextNode();){if(tr(F))continue;let Ae=Ot(F);F.nodeType===Ee.element&&(Ae&&Ae.__depth?F.__depth=(F.__removalCount||0)+Ae.__depth+1:F.__depth=1),(F.__depth>=qi||F.__depth<0||G(F.__depth))&&Re(F),F.content instanceof ke&&(F.content.__depth=F.__depth,Co(F.content)),rr(F)}if(Mt)return L;if(gt){if(Jt)for(ye=bo.call(m.ownerDocument);m.firstChild;)ye.appendChild(m.firstChild);else ye=m;return(ge.shadowroot||ge.shadowrootmode)&&(ye=Eo.call(q,ye,!0)),ye}let Ne=Je?m.outerHTML:m.innerHTML;return Je&&pe["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&M(ct,m.ownerDocument.doctype.name)&&(Ne=" +`+Ne),pt&&l([Ln,Dn,$n],Ae=>{Ne=A(Ne,Ae," ")}),Te&&jt?Te.createHTML(Ne):Ne},N.setConfig=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wn(L),zn=!0},N.clearConfig=function(){bt=null,zn=!1},N.isValidAttribute=function(L,u,m){bt||Wn({});let x=fe(L),F=fe(u);return nr(x,F,m)},N.addHook=function(L,u){typeof u=="function"&&(De[L]=De[L]||[],p(De[L],u))},N.removeHook=function(L){if(De[L])return g(De[L])},N.removeHooks=function(L){De[L]&&(De[L]=[])},N.removeAllHooks=function(){De={}},N}var P=lt();return P})});var rn=globalThis,an=rn.ShadowRoot&&(rn.ShadyCSS===void 0||rn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,lr=Symbol(),cr=new WeakMap,sn=class{constructor(e,n,i){if(this._$cssResult$=!0,i!==lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o,n=this.t;if(an&&e===void 0){let i=n!==void 0&&n.length===1;i&&(e=cr.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&cr.set(n,e))}return e}toString(){return this.cssText}},ur=t=>new sn(typeof t=="string"?t:t+"",void 0,lr);var Vn=(t,e)=>{if(an)t.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(let n of e){let i=document.createElement("style"),r=rn.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=n.cssText,t.appendChild(i)}},on=an?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(let i of e.cssRules)n+=i.cssText;return ur(n)})(t):t;var{is:Po,defineProperty:Uo,getOwnPropertyDescriptor:Bo,getOwnPropertyNames:zo,getOwnPropertySymbols:Fo,getPrototypeOf:Ho}=Object,cn=globalThis,dr=cn.trustedTypes,Go=dr?dr.emptyScript:"",Ko=cn.reactiveElementPolyfillSupport,Dt=(t,e)=>t,$t={toAttribute(t,e){switch(e){case Boolean:t=t?Go:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},ln=(t,e)=>!Po(t,e),pr={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln};Symbol.metadata??=Symbol("metadata"),cn.litPropertyMetadata??=new WeakMap;var Be=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=pr){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,n);r!==void 0&&Uo(this.prototype,e,r)}}static getPropertyDescriptor(e,n,i){let{get:r,set:s}=Bo(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get(){return r?.call(this)},set(a){let o=r?.call(this);s.call(this,a),this.requestUpdate(e,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??pr}static _$Ei(){if(this.hasOwnProperty(Dt("elementProperties")))return;let e=Ho(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Dt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Dt("properties"))){let n=this.properties,i=[...zo(n),...Fo(n)];for(let r of i)this.createProperty(r,n[r])}let e=this[Symbol.metadata];if(e!==null){let n=litPropertyMetadata.get(e);if(n!==void 0)for(let[i,r]of n)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[n,i]of this.elementProperties){let r=this._$Eu(n,i);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let n=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)n.unshift(on(r))}else e!==void 0&&n.push(on(e));return n}static _$Eu(e,n){let i=n.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,n=this.constructor.elementProperties;for(let i of n.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Vn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,n,i){this._$AK(e,i)}_$EC(e,n){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let s=(i.converter?.toAttribute!==void 0?i.converter:$t).toAttribute(n,i.type);this._$Em=e,s==null?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(e,n){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let s=i.getPropertyOptions(r),a=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:$t;this._$Em=r,this[r]=a.fromAttribute(n,s.type),this._$Em=null}}requestUpdate(e,n,i){if(e!==void 0){if(i??=this.constructor.getPropertyOptions(e),!(i.hasChanged??ln)(this[e],n))return;this.P(e,n,i)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,n,i){this._$AL.has(e)||this._$AL.set(e,n),i.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,s]of this._$Ep)this[r]=s;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,s]of i)s.wrapped!==!0||this._$AL.has(r)||this[r]===void 0||this.P(r,this[r],s)}let e=!1,n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(n)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(n=>this._$EC(n,this[n])),this._$EU()}updated(e){}firstUpdated(e){}};Be.elementStyles=[],Be.shadowRootOptions={mode:"open"},Be[Dt("elementProperties")]=new Map,Be[Dt("finalized")]=new Map,Ko?.({ReactiveElement:Be}),(cn.reactiveElementVersions??=[]).push("2.0.4");var ni=globalThis,un=ni.trustedTypes,gr=un?un.createPolicy("lit-html",{createHTML:t=>t}):void 0,Er="$lit$",We=`lit$${Math.random().toFixed(9).slice(2)}$`,yr="?"+We,qo=`<${yr}>`,tt=document,Ut=()=>tt.createComment(""),Bt=t=>t===null||typeof t!="object"&&typeof t!="function",Tr=Array.isArray,Wo=t=>Tr(t)||typeof t?.[Symbol.iterator]=="function",Xn=`[ +\f\r]`,Pt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,fr=/-->/g,hr=/>/g,je=RegExp(`>|${Xn}(?:([^\\s"'>=/]+)(${Xn}*=${Xn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),mr=/'/g,br=/"/g,wr=/^(?:script|style|textarea|title)$/i,Sr=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),Ze=Sr(1),Gu=Sr(2),ze=Symbol.for("lit-noChange"),ce=Symbol.for("lit-nothing"),_r=new WeakMap,et=tt.createTreeWalker(tt,129);function Nr(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return gr!==void 0?gr.createHTML(e):e}var Zo=(t,e)=>{let n=t.length-1,i=[],r,s=e===2?"":"",a=Pt;for(let o=0;o"?(a=r??Pt,g=-1):l[1]===void 0?g=-2:(g=a.lastIndex-l[2].length,d=l[1],a=l[3]===void 0?je:l[3]==='"'?br:mr):a===br||a===mr?a=je:a===fr||a===hr?a=Pt:(a=je,r=void 0);let f=a===je&&t[o+1].startsWith("/>")?" ":"";s+=a===Pt?c+qo:g>=0?(i.push(d),c.slice(0,g)+Er+c.slice(g)+We+f):c+We+(g===-2?o:f)}return[Nr(t,s+(t[n]||"")+(e===2?"":"")),i]},zt=class t{constructor({strings:e,_$litType$:n},i){let r;this.parts=[];let s=0,a=0,o=e.length-1,c=this.parts,[d,l]=Zo(e,n);if(this.el=t.createElement(d,i),et.currentNode=this.el.content,n===2){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=et.nextNode())!==null&&c.length0){r.textContent=un?un.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ce}_$AI(e,n=this,i,r){let s=this.strings,a=!1;if(s===void 0)e=_t(this,e,n,0),a=!Bt(e)||e!==this._$AH&&e!==ze,a&&(this._$AH=e);else{let o=e,c,d;for(e=s[0],c=0;c{let i=n?.renderBefore??e,r=i._$litPart$;if(r===void 0){let s=n?.renderBefore??null;i._$litPart$=r=new Ft(e.insertBefore(Ut(),s),s,void 0,n??{})}return r._$AI(t),r};var Ye=class extends Be{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ar(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ze}};Ye._$litElement$=!0,Ye["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:Ye});var Vo=globalThis.litElementPolyfillSupport;Vo?.({LitElement:Ye});(globalThis.litElementVersions??=[]).push("4.0.5");var vr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},kr=t=>(...e)=>({_$litDirective$:t,values:e}),dn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,i){this._$Ct=e,this._$AM=n,this._$Ci=i}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};var Ht=class extends dn{constructor(e){if(super(e),this.it=ce,e.type!==vr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ce||e==null)return this._t=void 0,this.it=e;if(e===ze)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let n=[e];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};Ht.directiveName="unsafeHTML",Ht.resultType=1;var nt=kr(Ht);var Xo={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln},Qo=(t=Xo,e,n)=>{let{kind:i,metadata:r}=n,s=globalThis.litPropertyMetadata.get(r);if(s===void 0&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(n.name,t),i==="accessor"){let{name:a}=n;return{set(o){let c=e.get.call(this);e.set.call(this,o),this.requestUpdate(a,c,t)},init(o){return o!==void 0&&this.P(a,void 0,t),o}}}if(i==="setter"){let{name:a}=n;return function(o){let c=this[a];e.call(this,o),this.requestUpdate(a,c,t)}}throw Error("Unsupported decorator location: "+i)};function be(t){return(e,n)=>typeof n=="object"?Qo(t,e,n):((i,r,s)=>{let a=r.hasOwnProperty(s);return r.constructor.createProperty(s,a?{...i,wrapped:!0}:i),a?Object.getOwnPropertyDescriptor(r,s):void 0})(t,e,n)}var co=Yn(xr());var Pa=Yn($a(),1);var Ua=Pa.default;function _i(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var at=_i();function Ka(t){at=t}var qa=/[&<>"']/,jl=new RegExp(qa.source,"g"),Wa=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,eu=new RegExp(Wa.source,"g"),tu={"&":"&","<":"<",">":">",'"':""","'":"'"},Ba=t=>tu[t];function xe(t,e){if(e){if(qa.test(t))return t.replace(jl,Ba)}else if(Wa.test(t))return t.replace(eu,Ba);return t}var nu=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function iu(t){return t.replace(nu,(e,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}var ru=/(^|[^\[])\^/g;function j(t,e){let n=typeof t=="string"?t:t.source;e=e||"";let i={replace:(r,s)=>{let a=typeof s=="string"?s:s.source;return a=a.replace(ru,"$1"),n=n.replace(r,a),i},getRegex:()=>new RegExp(n,e)};return i}function za(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}var Zt={exec:()=>null};function Fa(t,e){let n=t.replace(/\|/g,(s,a,o)=>{let c=!1,d=a;for(;--d>=0&&o[d]==="\\";)c=!c;return c?"|":" |"}),i=n.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length{let s=r.match(/^\s+/);if(s===null)return r;let[a]=s;return a.length>=i.length?r.slice(i.length):r}).join(` +`)}var At=class{options;rules;lexer;constructor(e){this.options=e||at}space(e){let n=this.rules.block.newline.exec(e);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(e){let n=this.rules.block.code.exec(e);if(n){let i=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Nn(i,` +`)}}}fences(e){let n=this.rules.block.fences.exec(e);if(n){let i=n[0],r=au(i,n[3]||"");return{type:"code",raw:i,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:r}}}heading(e){let n=this.rules.block.heading.exec(e);if(n){let i=n[2].trim();if(/#$/.test(i)){let r=Nn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let n=this.rules.block.hr.exec(e);if(n)return{type:"hr",raw:n[0]}}blockquote(e){let n=this.rules.block.blockquote.exec(e);if(n){let i=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`);i=Nn(i.replace(/^ *>[ \t]?/gm,""),` +`);let r=this.lexer.state.top;this.lexer.state.top=!0;let s=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:n[0],tokens:s,text:i}}}list(e){let n=this.rules.block.list.exec(e);if(n){let i=n[1].trim(),r=i.length>1,s={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let a=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),o="",c="",d=!1;for(;e;){let l=!1;if(!(n=a.exec(e))||this.rules.block.hr.test(e))break;o=n[0],e=e.substring(o.length);let g=n[2].split(` `,1)[0].replace(/^\t+/,z=>" ".repeat(3*z.length)),p=e.split(` -`,1)[0],f=0;this.options.pedantic?(f=2,c=g.trimStart()):(f=n[2].search(/[^ ]/),f=f>4?1:f,c=g.slice(f),f+=n[1].length);let b=!1;if(!g&&/^ *$/.test(p)&&(a+=p+` +`,1)[0],f=0;this.options.pedantic?(f=2,c=g.trimStart()):(f=n[2].search(/[^ ]/),f=f>4?1:f,c=g.slice(f),f+=n[1].length);let b=!1;if(!g&&/^ *$/.test(p)&&(o+=p+` `,e=e.substring(p.length+1),l=!0),!l){let z=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),Y=new RegExp(`^ {0,${Math.min(3,f-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),C=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:\`\`\`|~~~)`),M=new RegExp(`^ {0,${Math.min(3,f-1)}}#`);for(;e;){let Z=e.split(` `,1)[0];if(p=Z,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),C.test(p)||M.test(p)||z.test(p)||Y.test(e))break;if(p.search(/[^ ]/)>=f||!p.trim())c+=` `+p.slice(f);else{if(b||g.search(/[^ ]/)>=4||C.test(g)||M.test(g)||Y.test(g))break;c+=` -`+p}!b&&!p.trim()&&(b=!0),a+=Z+` -`,e=e.substring(Z.length+1),g=p.slice(f)}}o.loose||(d?o.loose=!0:/\n *\n *$/.test(a)&&(d=!0));let w=null,A;this.options.gfm&&(w=/^\[[ xX]\] /.exec(c),w&&(A=w[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),o.items.push({type:"list_item",raw:a,task:!!w,checked:A,loose:!1,text:c,tokens:[]}),o.raw+=a}o.items[o.items.length-1].raw=a.trimEnd(),o.items[o.items.length-1].text=c.trimEnd(),o.raw=o.raw.trimEnd();for(let l=0;lf.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));o.loose=p}if(o.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:i,raw:n[0],href:r,title:o}}}table(e){let n=this.rules.block.table.exec(e);if(!n||!/[:|]/.test(n[2]))return;let i=Mo(n[1]),r=n[2].replace(/^\||\| *$/g,"").split("|"),o=n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` -`):[],s={type:"table",raw:n[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let a of r)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a of i)s.header.push({text:a,tokens:this.lexer.inline(a)});for(let a of o)s.rows.push(Mo(a,s.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return s}}lheading(e){let n=this.rules.block.lheading.exec(e);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(e){let n=this.rules.block.paragraph.exec(e);if(n){let i=n[1].charAt(n[1].length-1)===` -`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let n=this.rules.block.text.exec(e);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(e){let n=this.rules.inline.escape.exec(e);if(n)return{type:"escape",raw:n[0],text:ve(n[1])}}tag(e){let n=this.rules.inline.tag.exec(e);if(n)return!this.lexer.state.inLink&&/^/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(e){let n=this.rules.inline.link.exec(e);if(n){let i=n[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let s=En(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{let s=Yl(n[2],"()");if(s>-1){let c=(n[0].indexOf("!")===0?5:4)+n[1].length+s;n[2]=n[2].substring(0,s),n[0]=n[0].substring(0,c).trim(),n[3]=""}}let r=n[2],o="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=n[3]?n[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),Io(n,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer)}}reflink(e,n){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),o=n[r.toLowerCase()];if(!o){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return Io(i,o,i[0],this.lexer)}}emStrong(e,n,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let s=[...r[0]].length-1,a,c,d=s,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,n=n.slice(-1*e.length+s);(r=g.exec(n))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=[...a].length,r[3]||r[4]){d+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){l+=c;continue}if(d-=c,d>0)continue;c=Math.min(c,c+d+l);let p=[...r[0]][0].length,f=e.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let w=f.slice(1,-1);return{type:"em",raw:f,text:w,tokens:this.lexer.inlineTokens(w)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let n=this.rules.inline.code.exec(e);if(n){let i=n[2].replace(/\n/g," "),r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=ve(i,!0),{type:"codespan",raw:n[0],text:i}}}br(e){let n=this.rules.inline.br.exec(e);if(n)return{type:"br",raw:n[0]}}del(e){let n=this.rules.inline.del.exec(e);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(e){let n=this.rules.inline.autolink.exec(e);if(n){let i,r;return n[2]==="@"?(i=ve(n[1]),r="mailto:"+i):(i=ve(n[1]),r=i),{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let n;if(n=this.rules.inline.url.exec(e)){let i,r;if(n[2]==="@")i=ve(n[0]),r="mailto:"+i;else{let o;do o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])?.[0]??"";while(o!==n[0]);i=ve(n[0]),n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let n=this.rules.inline.text.exec(e);if(n){let i;return this.lexer.state.inRawBlock?i=n[0]:i=ve(n[0]),{type:"text",raw:n[0],text:i}}}},Xl=/^(?: *(?:\n|$))+/,Ql=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,Jl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Kt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,jl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Uo=/(?:[*+-]|\d{1,9}[.)])/,Bo=j(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Uo).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),pi=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,eu=/^[^\n]+/,gi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,tu=j(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",gi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),nu=j(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Uo).getRegex(),Nn="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",fi=/|$))/,iu=j("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",fi).replace("tag",Nn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),zo=j(pi).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),ru=j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",zo).getRegex(),mi={blockquote:ru,code:Ql,def:tu,fences:Jl,heading:jl,hr:Kt,html:iu,lheading:Bo,list:nu,newline:Xl,paragraph:zo,table:Ht,text:eu},Lo=j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),su={...mi,table:Lo,paragraph:j(pi).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Lo).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex()},ou={...mi,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",fi).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ht,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(pi).replace("hr",Kt).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Bo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Fo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,au=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ho=/^( {2,}|\\)\n(?!\s*$)/,cu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,du=j(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,qt).getRegex(),pu=j("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,qt).getRegex(),gu=j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,qt).getRegex(),fu=j(/\\([punct])/,"gu").replace(/punct/g,qt).getRegex(),mu=j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),hu=j(fi).replace("(?:-->|$)","-->").getRegex(),bu=j("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",hu).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Tn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,_u=j(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Tn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Go=j(/^!?\[(label)\]\[(ref)\]/).replace("label",Tn).replace("ref",gi).getRegex(),Ko=j(/^!?\[(ref)\](?:\[\])?/).replace("ref",gi).getRegex(),Eu=j("reflink|nolink(?!\\()","g").replace("reflink",Go).replace("nolink",Ko).getRegex(),hi={_backpedal:Ht,anyPunctuation:fu,autolink:mu,blockSkip:uu,br:Ho,code:au,del:Ht,emStrongLDelim:du,emStrongRDelimAst:pu,emStrongRDelimUnd:gu,escape:Fo,link:_u,nolink:Ko,punctuation:lu,reflink:Go,reflinkSearch:Eu,tag:bu,text:cu,url:Ht},yu={...hi,link:j(/^!?\[(label)\]\((.*?)\)/).replace("label",Tn).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Tn).getRegex()},li={...hi,escape:j(Fo).replace("])","~|])").getRegex(),url:j(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(d.length));let i,r,o,s;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(i=a.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&n.length>0?n[n.length-1].raw+=` +`+p}!b&&!p.trim()&&(b=!0),o+=Z+` +`,e=e.substring(Z.length+1),g=p.slice(f)}}s.loose||(d?s.loose=!0:/\n *\n *$/.test(o)&&(d=!0));let S=null,A;this.options.gfm&&(S=/^\[[ xX]\] /.exec(c),S&&(A=S[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:o,task:!!S,checked:A,loose:!1,text:c,tokens:[]}),s.raw+=o}s.items[s.items.length-1].raw=o.trimEnd(),s.items[s.items.length-1].text=c.trimEnd(),s.raw=s.raw.trimEnd();for(let l=0;lf.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));s.loose=p}if(s.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:i,raw:n[0],href:r,title:s}}}table(e){let n=this.rules.block.table.exec(e);if(!n||!/[:|]/.test(n[2]))return;let i=Fa(n[1]),r=n[2].replace(/^\||\| *$/g,"").split("|"),s=n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` +`):[],a={type:"table",raw:n[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let o of r)/^ *-+: *$/.test(o)?a.align.push("right"):/^ *:-+: *$/.test(o)?a.align.push("center"):/^ *:-+ *$/.test(o)?a.align.push("left"):a.align.push(null);for(let o of i)a.header.push({text:o,tokens:this.lexer.inline(o)});for(let o of s)a.rows.push(Fa(o,a.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return a}}lheading(e){let n=this.rules.block.lheading.exec(e);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(e){let n=this.rules.block.paragraph.exec(e);if(n){let i=n[1].charAt(n[1].length-1)===` +`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let n=this.rules.block.text.exec(e);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(e){let n=this.rules.inline.escape.exec(e);if(n)return{type:"escape",raw:n[0],text:xe(n[1])}}tag(e){let n=this.rules.inline.tag.exec(e);if(n)return!this.lexer.state.inLink&&/^/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(e){let n=this.rules.inline.link.exec(e);if(n){let i=n[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let a=Nn(i.slice(0,-1),"\\");if((i.length-a.length)%2===0)return}else{let a=su(n[2],"()");if(a>-1){let c=(n[0].indexOf("!")===0?5:4)+n[1].length+a;n[2]=n[2].substring(0,a),n[0]=n[0].substring(0,c).trim(),n[3]=""}}let r=n[2],s="";if(this.options.pedantic){let a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);a&&(r=a[1],s=a[3])}else s=n[3]?n[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),Ha(n,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer)}}reflink(e,n){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),s=n[r.toLowerCase()];if(!s){let a=i[0].charAt(0);return{type:"text",raw:a,text:a}}return Ha(i,s,i[0],this.lexer)}}emStrong(e,n,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let a=[...r[0]].length-1,o,c,d=a,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,n=n.slice(-1*e.length+a);(r=g.exec(n))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(c=[...o].length,r[3]||r[4]){d+=c;continue}else if((r[5]||r[6])&&a%3&&!((a+c)%3)){l+=c;continue}if(d-=c,d>0)continue;c=Math.min(c,c+d+l);let p=[...r[0]][0].length,f=e.slice(0,a+r.index+p+c);if(Math.min(a,c)%2){let S=f.slice(1,-1);return{type:"em",raw:f,text:S,tokens:this.lexer.inlineTokens(S)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let n=this.rules.inline.code.exec(e);if(n){let i=n[2].replace(/\n/g," "),r=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return r&&s&&(i=i.substring(1,i.length-1)),i=xe(i,!0),{type:"codespan",raw:n[0],text:i}}}br(e){let n=this.rules.inline.br.exec(e);if(n)return{type:"br",raw:n[0]}}del(e){let n=this.rules.inline.del.exec(e);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(e){let n=this.rules.inline.autolink.exec(e);if(n){let i,r;return n[2]==="@"?(i=xe(n[1]),r="mailto:"+i):(i=xe(n[1]),r=i),{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let n;if(n=this.rules.inline.url.exec(e)){let i,r;if(n[2]==="@")i=xe(n[0]),r="mailto:"+i;else{let s;do s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])?.[0]??"";while(s!==n[0]);i=xe(n[0]),n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let n=this.rules.inline.text.exec(e);if(n){let i;return this.lexer.state.inRawBlock?i=n[0]:i=xe(n[0]),{type:"text",raw:n[0],text:i}}}},ou=/^(?: *(?:\n|$))+/,cu=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,lu=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Vt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,uu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Za=/(?:[*+-]|\d{1,9}[.)])/,Ya=j(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Za).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Ei=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,du=/^[^\n]+/,yi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,pu=j(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",yi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gu=j(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Za).getRegex(),kn="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ti=/|$))/,fu=j("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Ti).replace("tag",kn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Va=j(Ei).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),hu=j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Va).getRegex(),wi={blockquote:hu,code:cu,def:pu,fences:lu,heading:uu,hr:Vt,html:fu,lheading:Ya,list:gu,newline:ou,paragraph:Va,table:Zt,text:du},Ga=j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),mu={...wi,table:Ga,paragraph:j(Ei).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Ga).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex()},bu={...wi,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ti).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zt,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(Ei).replace("hr",Vt).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Ya).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Xa=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_u=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Qa=/^( {2,}|\\)\n(?!\s*$)/,Eu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wu=j(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xt).getRegex(),Su=j("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xt).getRegex(),Nu=j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xt).getRegex(),Au=j(/\\([punct])/,"gu").replace(/punct/g,Xt).getRegex(),vu=j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ku=j(Ti).replace("(?:-->|$)","-->").getRegex(),xu=j("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ku).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),vn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ou=j(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",vn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ja=j(/^!?\[(label)\]\[(ref)\]/).replace("label",vn).replace("ref",yi).getRegex(),ja=j(/^!?\[(ref)\](?:\[\])?/).replace("ref",yi).getRegex(),Ru=j("reflink|nolink(?!\\()","g").replace("reflink",Ja).replace("nolink",ja).getRegex(),Si={_backpedal:Zt,anyPunctuation:Au,autolink:vu,blockSkip:Tu,br:Qa,code:_u,del:Zt,emStrongLDelim:wu,emStrongRDelimAst:Su,emStrongRDelimUnd:Nu,escape:Xa,link:Ou,nolink:ja,punctuation:yu,reflink:Ja,reflinkSearch:Ru,tag:xu,text:Eu,url:Zt},Cu={...Si,link:j(/^!?\[(label)\]\((.*?)\)/).replace("label",vn).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",vn).getRegex()},mi={...Si,escape:j(Xa).replace("])","~|])").getRegex(),url:j(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(d.length));let i,r,s,a;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(i=o.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&n.length>0?n[n.length-1].raw+=` `:n.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` `+i.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` -`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),n.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,c=e.slice(1),d;this.options.extensions.startBlock.forEach(l=>{d=l.call({lexer:this},c),typeof d=="number"&&d>=0&&(a=Math.min(a,d))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=n[n.length-1],s&&r.type==="paragraph"?(r.raw+=` +`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),n.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startBlock){let o=1/0,c=e.slice(1),d;this.options.extensions.startBlock.forEach(l=>{d=l.call({lexer:this},c),typeof d=="number"&&d>=0&&(o=Math.min(o,d))}),o<1/0&&o>=0&&(s=e.substring(0,o+1))}if(this.state.top&&(i=this.tokenizer.paragraph(s))){r=n[n.length-1],a&&r.type==="paragraph"?(r.raw+=` `+i.raw,r.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(i),s=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&r.type==="text"?(r.raw+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(i),a=s.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&r.type==="text"?(r.raw+=` `+i.raw,r.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(i);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}inlineTokens(e,n=[]){let i,r,o,s=e,a,c,d;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)l.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(d=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(l=>(i=l.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=n[n.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(i=this.tokenizer.emStrong(e,s,d)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),n.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),n.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startInline){let l=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(i=this.tokenizer.inlineText(o)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(d=i.raw.slice(-1)),c=!0,r=n[n.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return n}},Fe=class{options;constructor(e){this.options=e||nt}code(e,n,i){let r=(n||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` -`,r?'
'+(i?e:ve(e,!0))+`
-`:"
"+(i?e:ve(e,!0))+`
+`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):n.push(i);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,n}inline(e,n=[]){return this.inlineQueue.push({src:e,tokens:n}),n}inlineTokens(e,n=[]){let i,r,s,a=e,o,c,d;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(a))!=null;)l.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.blockSkip.exec(a))!=null;)a=a.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(a))!=null;)a=a.slice(0,o.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(d=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(l=>(i=l.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=n[n.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(i=this.tokenizer.emStrong(e,a,d)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),n.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),n.push(i);continue}if(s=e,this.options.extensions&&this.options.extensions.startInline){let l=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(s=e.substring(0,l+1))}if(i=this.tokenizer.inlineText(s)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(d=i.raw.slice(-1)),c=!0,r=n[n.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):n.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return n}},Ke=class{options;constructor(e){this.options=e||at}code(e,n,i){let r=(n||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` +`,r?'
'+(i?e:xe(e,!0))+`
+`:"
"+(i?e:xe(e,!0))+`
`}blockquote(e){return`
${e}
`}html(e,n){return e}heading(e,n,i){return`${e} `}hr(){return`
-`}list(e,n,i){let r=n?"ol":"ul",o=n&&i!==1?' start="'+i+'"':"";return"<"+r+o+`> +`}list(e,n,i){let r=n?"ol":"ul",s=n&&i!==1?' start="'+i+'"':"";return"<"+r+s+`> `+e+" `}listitem(e,n,i){return`
  • ${e}
  • `}checkbox(e){return"'}paragraph(e){return`

    ${e}

    @@ -47,14 +47,50 @@ ${e} `}tablerow(e){return` ${e} `}tablecell(e,n){let i=n.header?"th":"td";return(n.align?`<${i} align="${n.align}">`:`<${i}>`)+e+` -`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,n,i){let r=Co(e);if(r===null)return i;e=r;let o='
    ",o}image(e,n,i){let r=Co(e);if(r===null)return i;e=r;let o=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=A+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=A+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:A+" "}):w+=A+" "}w+=this.parse(p.tokens,d),l+=this.renderer.listitem(w,b,!!f)}i+=this.renderer.list(l,a,c);continue}case"html":{let s=o;i+=this.renderer.html(s.text,s.block);continue}case"paragraph":{let s=o;i+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=o,a=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1{let a=o[s].flat(1/0);i=i.concat(this.walkTokens(a,n))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,n)))}}return i}use(...e){let n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=n.renderers[o.name];s?n.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=s.apply(this,a)),c}:n.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=n[o.level];s?s.unshift(o.tokenizer):n[o.level]=[o.tokenizer],o.start&&(o.level==="block"?n.startBlock?n.startBlock.push(o.start):n.startBlock=[o.start]:o.level==="inline"&&(n.startInline?n.startInline.push(o.start):n.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(n.childTokens[o.name]=o.childTokens)}),r.extensions=n),i.renderer){let o=this.defaults.renderer||new Fe(this.defaults);for(let s in i.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.renderer[a],d=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=d.apply(o,l)),g||""}}r.renderer=o}if(i.tokenizer){let o=this.defaults.tokenizer||new yt(this.defaults);for(let s in i.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,c=i.tokenizer[a],d=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=d.apply(o,l)),g}}r.tokenizer=o}if(i.hooks){let o=this.defaults.hooks||new Et;for(let s in i.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.hooks[a],d=o[a];Et.passThroughHooks.has(s)?o[a]=l=>{if(this.defaults.async)return Promise.resolve(c.call(o,l)).then(p=>d.call(o,p));let g=c.call(o,l);return d.call(o,g)}:o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=d.apply(o,l)),g}}r.hooks=o}if(i.walkTokens){let o=this.defaults.walkTokens,s=i.walkTokens;r.walkTokens=function(a){let c=[];return c.push(s.call(this,a)),o&&(c=c.concat(o.call(this,a))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return Be.lex(e,n??this.defaults)}parser(e,n){return ze.parse(e,n??this.defaults)}#t(e,n){return(i,r)=>{let o={...r},s={...this.defaults,...o};this.defaults.async===!0&&o.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let a=this.#n(!!s.silent,!!s.async);if(typeof i>"u"||i===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(c=>e(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>n(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(a);try{s.hooks&&(i=s.hooks.preprocess(i));let c=e(i,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let d=n(c,s);return s.hooks&&(d=s.hooks.postprocess(d)),d}catch(c){return a(c)}}}#n(e,n){return i=>{if(i.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let r="

    An error occurred:

    "+ve(i.message+"",!0)+"
    ";return n?Promise.resolve(r):r}if(n)return Promise.reject(i);throw i}}},tt=new ui;function Q(t,e){return tt.parse(t,e)}Q.options=Q.setOptions=function(t){return tt.setOptions(t),Q.defaults=tt.defaults,Do(Q.defaults),Q};Q.getDefaults=di;Q.defaults=nt;Q.use=function(...t){return tt.use(...t),Q.defaults=tt.defaults,Do(Q.defaults),Q};Q.walkTokens=function(t,e){return tt.walkTokens(t,e)};Q.parseInline=tt.parseInline;Q.Parser=ze;Q.parser=ze.parse;Q.Renderer=Fe;Q.TextRenderer=Gt;Q.Lexer=Be;Q.lexer=Be.lex;Q.Tokenizer=yt;Q.Hooks=Et;Q.parse=Q;var ap=Q.options,cp=Q.setOptions,lp=Q.use,up=Q.walkTokens,dp=Q.parseInline,bi=Q,pp=ze.parse,gp=Be.lex;var Wo=Fn(qo());function Zo(t,e){let n=document.createElement(t);for(let[i,r]of Object.entries(e)){let o=i.replace(/_/g,"-");r!==null&&n.setAttribute(o,r)}return n}function Yo(t){return new DOMParser().parseFromString(t,"image/svg+xml").documentElement}var wn=class extends qe{createRenderRoot(){return this}};function Tt({headline:t="",message:e,status:n="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t,message:e,status:n}}))}async function Vo(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(e){Tt({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function Sn(t){return Xo.sanitize(t,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var Xo=(0,Wo.default)();Xo.addHook("uponSanitizeElement",(t,e)=>{if(t.nodeName&&t.nodeName==="SCRIPT"){let n=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=n}});function Qo(t){return function(e,n,i){let r=i.value,o;return i.value=function(...s){o&&window.clearTimeout(o),o=window.setTimeout(()=>{r.apply(this,s),o=void 0},t)},i}}function Nu(t){return"isStreaming"in t}var jo="markdown-stream-dot",wu=Yo(``),ea=new Fe;ea.table=(t,e)=>` +`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,n,i){let r=za(e);if(r===null)return i;e=r;let s='",s}image(e,n,i){let r=za(e);if(r===null)return i;e=r;let s=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=A+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=A+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:A+" "}):S+=A+" "}S+=this.parse(p.tokens,d),l+=this.renderer.listitem(S,b,!!f)}i+=this.renderer.list(l,o,c);continue}case"html":{let a=s;i+=this.renderer.html(a.text,a.block);continue}case"paragraph":{let a=s;i+=this.renderer.paragraph(this.parseInline(a.tokens));continue}case"text":{let a=s,o=a.tokens?this.parseInline(a.tokens):a.text;for(;r+1{let o=s[a].flat(1/0);i=i.concat(this.walkTokens(o,n))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,n)))}}return i}use(...e){let n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=n.renderers[s.name];a?n.renderers[s.name]=function(...o){let c=s.renderer.apply(this,o);return c===!1&&(c=a.apply(this,o)),c}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=n[s.level];a?a.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),r.extensions=n),i.renderer){let s=this.defaults.renderer||new Ke(this.defaults);for(let a in i.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.renderer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g||""}}r.renderer=s}if(i.tokenizer){let s=this.defaults.tokenizer||new At(this.defaults);for(let a in i.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let o=a,c=i.tokenizer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.tokenizer=s}if(i.hooks){let s=this.defaults.hooks||new Nt;for(let a in i.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.hooks[o],d=s[o];Nt.passThroughHooks.has(a)?s[o]=l=>{if(this.defaults.async)return Promise.resolve(c.call(s,l)).then(p=>d.call(s,p));let g=c.call(s,l);return d.call(s,g)}:s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.hooks=s}if(i.walkTokens){let s=this.defaults.walkTokens,a=i.walkTokens;r.walkTokens=function(o){let c=[];return c.push(a.call(this,o)),s&&(c=c.concat(s.call(this,o))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return He.lex(e,n??this.defaults)}parser(e,n){return Ge.parse(e,n??this.defaults)}#t(e,n){return(i,r)=>{let s={...r},a={...this.defaults,...s};this.defaults.async===!0&&s.async===!1&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);let o=this.#e(!!a.silent,!!a.async);if(typeof i>"u"||i===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(i):i).then(c=>e(c,a)).then(c=>a.hooks?a.hooks.processAllTokens(c):c).then(c=>a.walkTokens?Promise.all(this.walkTokens(c,a.walkTokens)).then(()=>c):c).then(c=>n(c,a)).then(c=>a.hooks?a.hooks.postprocess(c):c).catch(o);try{a.hooks&&(i=a.hooks.preprocess(i));let c=e(i,a);a.hooks&&(c=a.hooks.processAllTokens(c)),a.walkTokens&&this.walkTokens(c,a.walkTokens);let d=n(c,a);return a.hooks&&(d=a.hooks.postprocess(d)),d}catch(c){return o(c)}}}#e(e,n){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let r="

    An error occurred:

    "+xe(i.message+"",!0)+"
    ";return n?Promise.resolve(r):r}if(n)return Promise.reject(i);throw i}}},st=new bi;function Q(t,e){return st.parse(t,e)}Q.options=Q.setOptions=function(t){return st.setOptions(t),Q.defaults=st.defaults,Ka(Q.defaults),Q};Q.getDefaults=_i;Q.defaults=at;Q.use=function(...t){return st.use(...t),Q.defaults=st.defaults,Ka(Q.defaults),Q};Q.walkTokens=function(t,e){return st.walkTokens(t,e)};Q.parseInline=st.parseInline;Q.Parser=Ge;Q.parser=Ge.parse;Q.Renderer=Ke;Q.TextRenderer=Yt;Q.Lexer=He;Q.lexer=He.lex;Q.Tokenizer=At;Q.Hooks=Nt;Q.parse=Q;var _p=Q.options,Ep=Q.setOptions,yp=Q.use,Tp=Q.walkTokens,wp=Q.parseInline,Ni=Q,Sp=Ge.parse,Np=He.lex;var to=Yn(eo());function vt(t,e){let n=document.createElement(t);for(let[i,r]of Object.entries(e)){let s=i.replace(/_/g,"-");r!==null&&n.setAttribute(s,r)}return n}function no(t){return new DOMParser().parseFromString(t,"image/svg+xml").documentElement}var $e=class extends Ye{createRenderRoot(){return this}};function Xe({headline:t="",message:e,status:n="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t,message:e,status:n}}))}async function xn(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(e){Xe({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function On(t){return io.sanitize(t,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var io=(0,to.default)();io.addHook("uponSanitizeElement",(t,e)=>{if(t.nodeName&&t.nodeName==="SCRIPT"){let n=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=n}});function ro(t){return function(e,n,i){let r=i.value,s;return i.value=function(...a){s&&window.clearTimeout(s),s=window.setTimeout(()=>{r.apply(this,a),s=void 0},t)},i}}var ki="shiny-chat-message",ao="shiny-user-message",xi="shiny-chat-messages",oo="shiny-chat-input",Ri="shiny-chat-container",so={robot:'',dots_fade:''},ot=class extends $e{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?so.dots_fade:this.icon||so.robot;return Ze` +
    ${nt(i)}
    + + `}#t(){this.streaming||this.#e()}#e(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(n=>{if(!(n instanceof HTMLElement)||n.hasAttribute("tabindex"))return;n.setAttribute("tabindex","0"),n.setAttribute("role","button");let i=n.dataset.suggestion||n.textContent;n.setAttribute("aria-label",`Use chat suggestion: ${i}`)})}};me([be()],ot.prototype,"content",2),me([be({attribute:"content-type"})],ot.prototype,"contentType",2),me([be({type:Boolean,reflect:!0})],ot.prototype,"streaming",2),me([be()],ot.prototype,"icon",2);var Rn=class extends $e{constructor(){super(...arguments);this.content="..."}render(){return Ze` + + `}};me([be()],Rn.prototype,"content",2);var Oi=class extends $e{render(){return Ze``}},Qt=class extends $e{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(n){let i=this._disabled;n!==i&&(this._disabled=n,n?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#e())}attributeChangedCallback(n,i,r){super.attributeChangedCallback(n,i,r),n==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let n='';return Ze` + + + `}#t(n){n.code==="Enter"&&!n.shiftKey&&!this.valueIsEmpty&&(n.preventDefault(),this.#i())}#e(){this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#e()}#i(n=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let i=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(i),this.setInputValue(""),this.disabled=!0,n&&this.textarea.focus()}setInputValue(n,{submit:i=!1,focus:r=!1}={}){let s=this.textarea.value;this.textarea.value=n;let a=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(a),i&&(this.#i(!1),s&&this.setInputValue(s)),r&&this.textarea.focus()}};me([be()],Qt.prototype,"placeholder",2),me([be({type:Boolean})],Qt.prototype,"disabled",1);var Cn=class extends $e{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(oo)}get messages(){return this.querySelector(xi)}get lastMessage(){let n=this.messages.lastElementChild;return n||null}render(){return Ze``}connectedCallback(){super.connectedCallback();let n=this.querySelector("div");n||(n=vt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",n)),this.inputSentinelObserver=new IntersectionObserver(i=>{let r=this.input.querySelector("textarea");if(!r)return;let s=i[0]?.intersectionRatio===0;r.classList.toggle("shadow",s)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(n)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#t),this.addEventListener("shiny-chat-append-message",this.#e),this.addEventListener("shiny-chat-append-message-chunk",this.#s),this.addEventListener("shiny-chat-clear-messages",this.#a),this.addEventListener("shiny-chat-update-user-input",this.#c),this.addEventListener("shiny-chat-remove-loading-message",this.#h),this.addEventListener("click",this.#l),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#t),this.removeEventListener("shiny-chat-append-message",this.#e),this.removeEventListener("shiny-chat-append-message-chunk",this.#s),this.removeEventListener("shiny-chat-clear-messages",this.#a),this.removeEventListener("shiny-chat-update-user-input",this.#c),this.removeEventListener("shiny-chat-remove-loading-message",this.#h),this.removeEventListener("click",this.#l),this.removeEventListener("keydown",this.#u)}#t(n){this.#r(n.detail),this.#p()}#e(n){this.#r(n.detail)}#i(){this.#n(),this.input.disabled||(this.input.disabled=!0)}#r(n,i=!0){this.#i();let r=n.role==="user"?ao:ki;this.iconAssistant&&(n.icon=n.icon||this.iconAssistant);let s=vt(r,n);this.messages.appendChild(s),i&&this.#f()}#p(){let i=vt(ki,{content:"",role:"assistant"});this.messages.appendChild(i)}#n(){this.lastMessage?.content||this.lastMessage?.remove()}#s(n){this.#o(n.detail)}#o(n){n.chunk_type==="message_start"&&this.#r(n,!1);let i=this.lastMessage;if(!i)throw new Error("No messages found in the chat output");if(n.chunk_type==="message_start"){i.setAttribute("streaming","");return}let r=n.operation==="append"?i.getAttribute("content")+n.content:n.content;i.setAttribute("content",r),n.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#f())}#a(){this.messages.innerHTML=""}#c(n){let{value:i,placeholder:r,submit:s,focus:a}=n.detail;i!==void 0&&this.input.setInputValue(i,{submit:s,focus:a}),r!==void 0&&(this.input.placeholder=r)}#l(n){this.#d(n)}#u(n){(n.key==="Enter"||n.key===" ")&&this.#d(n)}#d(n){let{suggestion:i,submit:r}=this.#g(n.target);if(!i)return;n.preventDefault();let s=n.metaKey||n.ctrlKey?!0:n.altKey?!1:r;this.input.setInputValue(i,{submit:s,focus:!s})}#g(n){if(!(n instanceof HTMLElement))return{};let i=n.closest(".suggestion, [data-suggestion]");return i instanceof HTMLElement?i.classList.contains("suggestion")||i.dataset.suggestion!==void 0?{suggestion:i.dataset.suggestion||i.textContent||void 0,submit:i.classList.contains("submit")||i.dataset.suggestionSubmit===""||i.dataset.suggestionSubmit==="true"}:{}:{}}#h(){this.#n(),this.#f()}#f(){this.input.disabled=!1}};me([be({attribute:"icon-assistant"})],Cn.prototype,"iconAssistant",2);customElements.get(xi)||(customElements.define(ki,ot),customElements.define(ao,Rn),customElements.define(xi,Oi),customElements.define(oo,Qt),customElements.define(Ri,Cn));window.Shiny.addCustomMessageHandler("shinyChatMessage",async function(t){t.obj?.html_deps&&await xn(t.obj.html_deps);let e=new CustomEvent(t.handler,{detail:t.obj}),n=document.getElementById(t.id);if(!n){Xe({status:"error",message:`Unable to handle Chat() message since element with id + ${t.id} wasn't found. Do you need to call .ui() (Express) or need a + chat_ui('${t.id}') in the UI (Core)? + `});return}n.dispatchEvent(e)});function Iu(t){return"isStreaming"in t}var lo="markdown-stream-dot",Lu=no(``),uo=new Ke;uo.table=(t,e)=>`
    ${t}${e} -
    `;var ta=new Fe;ta.html=t=>t.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Su(t,e){if(e==="markdown"){let n=bi(t,{renderer:ea});return on(Sn(n))}else if(e==="semi-markdown"){let n=bi(t,{renderer:ta});return on(Sn(n))}else{if(e==="html")return on(Sn(t));if(e==="text")return t;throw new Error(`Unknown content type: ${e}`)}}var Oe=class Oe extends wn{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#e=null;this.#i=!1;this.#r=!1;this.#s=()=>{this.#i||(this.#r=!this.#l())}}render(){return gr`${Su(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(n){n.has("content")&&(this.#i=!0,Oe.#a(this)),super.willUpdate(n)}updated(n){if(n.has("content")){try{this.#c()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#t(),Oe._throttledBind(this)):Oe.#o(this),this.#u(),this.#i=!1,this.#p(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(n.has("streaming")){if(this.streaming)this.#t();else if(this.#n(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#t(){this.lastElementChild?.appendChild(wu)}#n(){this.querySelector(`svg.${jo}`)?.remove()}static async#a(n){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(n)}catch(i){Tt({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#o(n){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(n)}catch(i){Tt({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(n)}catch(i){Tt({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(n){await this.#o(n)}#c(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;Oo.highlightElement(i);let r=Zo("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new Jo.default(r,{target:()=>i}).on("success",s=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),s.clearSelection()})})}#e;#i;#r;#s;#l(){let n=this.#e;return n?n.scrollHeight-(n.scrollTop+n.clientHeight)<50:!1}#u(){let n=this.#d();n!==this.#e&&(this.#e?.removeEventListener("scroll",this.#s),this.#e=n,this.#e?.addEventListener("scroll",this.#s))}#d(){if(!this.auto_scroll)return null;let n=this;for(;n;){if(n.scrollHeight>n.clientHeight)return n;n=n.parentElement}return null}#p(){let n=this.#e;!n||this.#r||n.scroll({top:n.scrollHeight-n.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#e?.removeEventListener("scroll",this.#s),this.#e=null,this.#r=!1}};Ge([We()],Oe.prototype,"content",2),Ge([We({attribute:"content-type"})],Oe.prototype,"content_type",2),Ge([We({type:Boolean,reflect:!0})],Oe.prototype,"streaming",2),Ge([We({type:Boolean,reflect:!0,attribute:"auto-scroll"})],Oe.prototype,"auto_scroll",2),Ge([We({type:Function})],Oe.prototype,"onContentChange",2),Ge([We({type:Function})],Oe.prototype,"onStreamEnd",2),Ge([Qo(200)],Oe,"_throttledBind",1);var yi=Oe;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",yi);async function Au(t){let e=document.getElementById(t.id);if(!e){Tt({status:"error",message:`Unable to handle MarkdownStream() message since element with id + `;var po=new Ke;po.html=t=>t.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Du(t,e){if(e==="markdown"){let n=Ni(t,{renderer:uo});return nt(On(n))}else if(e==="semi-markdown"){let n=Ni(t,{renderer:po});return nt(On(n))}else{if(e==="html")return nt(On(t));if(e==="text")return t;throw new Error(`Unknown content type: ${e}`)}}var Ce=class Ce extends $e{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#n=null;this.#s=!1;this.#o=!1;this.#a=()=>{this.#s||(this.#o=!this.#c())}}render(){return Ze`${Du(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(n){n.has("content")&&(this.#s=!0,Ce.#i(this)),super.willUpdate(n)}updated(n){if(n.has("content")){try{this.#p()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#t(),Ce._throttledBind(this)):Ce.#r(this),this.#l(),this.#s=!1,this.#d(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(n.has("streaming")){if(this.streaming)this.#t();else if(this.#e(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#t(){this.lastElementChild?.appendChild(Lu)}#e(){this.querySelector(`svg.${lo}`)?.remove()}static async#i(n){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(n)}catch(i){Xe({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#r(n){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(n)}catch(i){Xe({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(n)}catch(i){Xe({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(n){await this.#r(n)}#p(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;Ua.highlightElement(i);let r=vt("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new co.default(r,{target:()=>i}).on("success",a=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),a.clearSelection()})})}#n;#s;#o;#a;#c(){let n=this.#n;return n?n.scrollHeight-(n.scrollTop+n.clientHeight)<50:!1}#l(){let n=this.#u();n!==this.#n&&(this.#n?.removeEventListener("scroll",this.#a),this.#n=n,this.#n?.addEventListener("scroll",this.#a))}#u(){if(!this.auto_scroll)return null;let n=this;for(;n;){if(n.scrollHeight>n.clientHeight)return n;if(n=n.parentElement,n?.tagName===Ri)break}return null}#d(){let n=this.#n;!n||this.#o||n.scroll({top:n.scrollHeight-n.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#n?.removeEventListener("scroll",this.#a),this.#n=null,this.#o=!1}};me([be()],Ce.prototype,"content",2),me([be({attribute:"content-type"})],Ce.prototype,"content_type",2),me([be({type:Boolean,reflect:!0})],Ce.prototype,"streaming",2),me([be({type:Boolean,reflect:!0,attribute:"auto-scroll"})],Ce.prototype,"auto_scroll",2),me([be({type:Function})],Ce.prototype,"onContentChange",2),me([be({type:Function})],Ce.prototype,"onStreamEnd",2),me([ro(200)],Ce,"_throttledBind",1);var Ci=Ce;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",Ci);async function $u(t){let e=document.getElementById(t.id);if(!e){Xe({status:"error",message:`Unable to handle MarkdownStream() message since element with id ${t.id} wasn't found. Do you need to call .ui() (Express) or need a - output_markdown_stream('${t.id}') in the UI (Core)?`});return}if(Nu(t)){e.streaming=t.isStreaming;return}if(t.html_deps&&await Vo(t.html_deps),t.operation==="replace")e.setAttribute("content",t.content);else if(t.operation==="append"){let n=e.getAttribute("content");e.setAttribute("content",n+t.content)}else throw new Error(`Unknown operation: ${t.operation}`)}window.Shiny.addCustomMessageHandler("shinyMarkdownStreamMessage",Au);export{yi as MarkdownElement,Su as contentToHTML}; + output_markdown_stream('${t.id}') in the UI (Core)?`});return}if(Iu(t)){e.streaming=t.isStreaming;return}if(t.html_deps&&await xn(t.html_deps),t.operation==="replace")e.setAttribute("content",t.content);else if(t.operation==="append"){let n=e.getAttribute("content");e.setAttribute("content",n+t.content)}else throw new Error(`Unknown operation: ${t.operation}`)}window.Shiny.addCustomMessageHandler("shinyMarkdownStreamMessage",$u);export{Ci as MarkdownElement,Du as contentToHTML}; /*! Bundled license information: clipboard/dist/clipboard.js: diff --git a/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map b/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map index 6f9dc12fc..987c9eb83 100644 --- a/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map +++ b/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../../../js/node_modules/clipboard/dist/clipboard.js", "../../../../js/node_modules/highlight.js/lib/core.js", "../../../../js/node_modules/highlight.js/lib/languages/xml.js", "../../../../js/node_modules/highlight.js/lib/languages/bash.js", "../../../../js/node_modules/highlight.js/lib/languages/c.js", "../../../../js/node_modules/highlight.js/lib/languages/cpp.js", "../../../../js/node_modules/highlight.js/lib/languages/csharp.js", "../../../../js/node_modules/highlight.js/lib/languages/css.js", "../../../../js/node_modules/highlight.js/lib/languages/markdown.js", "../../../../js/node_modules/highlight.js/lib/languages/diff.js", "../../../../js/node_modules/highlight.js/lib/languages/ruby.js", "../../../../js/node_modules/highlight.js/lib/languages/go.js", "../../../../js/node_modules/highlight.js/lib/languages/graphql.js", "../../../../js/node_modules/highlight.js/lib/languages/ini.js", "../../../../js/node_modules/highlight.js/lib/languages/java.js", "../../../../js/node_modules/highlight.js/lib/languages/javascript.js", "../../../../js/node_modules/highlight.js/lib/languages/json.js", "../../../../js/node_modules/highlight.js/lib/languages/kotlin.js", "../../../../js/node_modules/highlight.js/lib/languages/less.js", "../../../../js/node_modules/highlight.js/lib/languages/lua.js", "../../../../js/node_modules/highlight.js/lib/languages/makefile.js", "../../../../js/node_modules/highlight.js/lib/languages/perl.js", "../../../../js/node_modules/highlight.js/lib/languages/objectivec.js", "../../../../js/node_modules/highlight.js/lib/languages/php.js", "../../../../js/node_modules/highlight.js/lib/languages/php-template.js", "../../../../js/node_modules/highlight.js/lib/languages/plaintext.js", "../../../../js/node_modules/highlight.js/lib/languages/python.js", "../../../../js/node_modules/highlight.js/lib/languages/python-repl.js", "../../../../js/node_modules/highlight.js/lib/languages/r.js", "../../../../js/node_modules/highlight.js/lib/languages/rust.js", "../../../../js/node_modules/highlight.js/lib/languages/scss.js", "../../../../js/node_modules/highlight.js/lib/languages/shell.js", "../../../../js/node_modules/highlight.js/lib/languages/sql.js", "../../../../js/node_modules/highlight.js/lib/languages/swift.js", "../../../../js/node_modules/highlight.js/lib/languages/yaml.js", "../../../../js/node_modules/highlight.js/lib/languages/typescript.js", "../../../../js/node_modules/highlight.js/lib/languages/vbnet.js", "../../../../js/node_modules/highlight.js/lib/languages/wasm.js", "../../../../js/node_modules/highlight.js/lib/common.js", "../../../../js/node_modules/dompurify/src/utils.js", "../../../../js/node_modules/dompurify/src/tags.js", "../../../../js/node_modules/dompurify/src/attrs.js", "../../../../js/node_modules/dompurify/src/regexp.js", "../../../../js/node_modules/dompurify/src/purify.js", "../../../../js/node_modules/@lit/reactive-element/src/css-tag.ts", "../../../../js/node_modules/@lit/reactive-element/src/reactive-element.ts", "../../../../js/node_modules/lit-html/src/lit-html.ts", "../../../../js/node_modules/lit-element/src/lit-element.ts", "../../../../js/node_modules/lit-html/src/directive.ts", "../../../../js/node_modules/lit-html/src/directives/unsafe-html.ts", "../../../../js/node_modules/@lit/reactive-element/src/decorators/property.ts", "../../../../js/markdown-stream/markdown-stream.ts", "../../../../js/node_modules/highlight.js/es/common.js", "../../../../js/node_modules/marked/src/defaults.ts", "../../../../js/node_modules/marked/src/helpers.ts", "../../../../js/node_modules/marked/src/Tokenizer.ts", "../../../../js/node_modules/marked/src/rules.ts", "../../../../js/node_modules/marked/src/Lexer.ts", "../../../../js/node_modules/marked/src/Renderer.ts", "../../../../js/node_modules/marked/src/TextRenderer.ts", "../../../../js/node_modules/marked/src/Parser.ts", "../../../../js/node_modules/marked/src/Hooks.ts", "../../../../js/node_modules/marked/src/Instance.ts", "../../../../js/node_modules/marked/src/marked.ts", "../../../../js/utils/_utils.ts"], - "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
    ';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.9.0\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n
    ${unsafeHTML(icon)}
    \n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], + "mappings": "kqBAAA,IAAAA,GAAAC,EAAA,CAAAC,GAAAC,KAAA,EAMC,SAA0CC,EAAMC,EAAS,CACtD,OAAOH,IAAY,UAAY,OAAOC,IAAW,SACnDA,GAAO,QAAUE,EAAQ,EAClB,OAAO,QAAW,YAAc,OAAO,IAC9C,OAAO,CAAC,EAAGA,CAAO,EACX,OAAOH,IAAY,SAC1BA,GAAQ,YAAiBG,EAAQ,EAEjCD,EAAK,YAAiBC,EAAQ,CAChC,GAAGH,GAAM,UAAW,CACpB,OAAiB,UAAW,CAClB,IAAII,EAAuB,CAE/B,IACC,SAASC,EAAyBC,EAAqBC,EAAqB,CAEnF,aAGAA,EAAoB,EAAED,EAAqB,CACzC,QAAW,UAAW,CAAE,OAAqBE,CAAW,CAC1D,CAAC,EAGD,IAAIC,EAAeF,EAAoB,GAAG,EACtCG,EAAoCH,EAAoB,EAAEE,CAAY,EAEtEE,EAASJ,EAAoB,GAAG,EAChCK,EAA8BL,EAAoB,EAAEI,CAAM,EAE1DE,EAAaN,EAAoB,GAAG,EACpCO,EAA8BP,EAAoB,EAAEM,CAAU,EAOlE,SAASE,EAAQC,EAAM,CACrB,GAAI,CACF,OAAO,SAAS,YAAYA,CAAI,CAClC,MAAc,CACZ,MAAO,EACT,CACF,CAUA,IAAIC,EAAqB,SAA4BC,EAAQ,CAC3D,IAAIC,EAAeL,EAAe,EAAEI,CAAM,EAC1C,OAAAH,EAAQ,KAAK,EACNI,CACT,EAEiCC,EAAeH,EAOhD,SAASI,EAAkBC,EAAO,CAChC,IAAIC,EAAQ,SAAS,gBAAgB,aAAa,KAAK,IAAM,MACzDC,EAAc,SAAS,cAAc,UAAU,EAEnDA,EAAY,MAAM,SAAW,OAE7BA,EAAY,MAAM,OAAS,IAC3BA,EAAY,MAAM,QAAU,IAC5BA,EAAY,MAAM,OAAS,IAE3BA,EAAY,MAAM,SAAW,WAC7BA,EAAY,MAAMD,EAAQ,QAAU,MAAM,EAAI,UAE9C,IAAIE,EAAY,OAAO,aAAe,SAAS,gBAAgB,UAC/D,OAAAD,EAAY,MAAM,IAAM,GAAG,OAAOC,EAAW,IAAI,EACjDD,EAAY,aAAa,WAAY,EAAE,EACvCA,EAAY,MAAQF,EACbE,CACT,CAYA,IAAIE,EAAiB,SAAwBJ,EAAOK,EAAS,CAC3D,IAAIH,EAAcH,EAAkBC,CAAK,EACzCK,EAAQ,UAAU,YAAYH,CAAW,EACzC,IAAIL,EAAeL,EAAe,EAAEU,CAAW,EAC/C,OAAAT,EAAQ,MAAM,EACdS,EAAY,OAAO,EACZL,CACT,EASIS,EAAsB,SAA6BV,EAAQ,CAC7D,IAAIS,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAChF,UAAW,SAAS,IACtB,EACIR,EAAe,GAEnB,OAAI,OAAOD,GAAW,SACpBC,EAAeO,EAAeR,EAAQS,CAAO,EACpCT,aAAkB,kBAAoB,CAAC,CAAC,OAAQ,SAAU,MAAO,MAAO,UAAU,EAAE,SAAyDA,GAAO,IAAI,EAEjKC,EAAeO,EAAeR,EAAO,MAAOS,CAAO,GAEnDR,EAAeL,EAAe,EAAEI,CAAM,EACtCH,EAAQ,MAAM,GAGTI,CACT,EAEiCU,EAAgBD,EAEjD,SAASE,EAAQC,EAAK,CAAE,0BAA2B,OAAI,OAAO,QAAW,YAAc,OAAO,OAAO,UAAa,SAAYD,EAAU,SAAiBC,EAAK,CAAE,OAAO,OAAOA,CAAK,EAAYD,EAAU,SAAiBC,EAAK,CAAE,OAAOA,GAAO,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,UAAY,SAAW,OAAOA,CAAK,EAAYD,EAAQC,CAAG,CAAG,CAUzX,IAAIC,EAAyB,UAAkC,CAC7D,IAAIL,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAC,EAE/EM,EAAkBN,EAAQ,OAC1BO,EAASD,IAAoB,OAAS,OAASA,EAC/CE,EAAYR,EAAQ,UACpBT,EAASS,EAAQ,OACjBS,GAAOT,EAAQ,KAEnB,GAAIO,IAAW,QAAUA,IAAW,MAClC,MAAM,IAAI,MAAM,oDAAoD,EAItE,GAAIhB,IAAW,OACb,GAAIA,GAAUY,EAAQZ,CAAM,IAAM,UAAYA,EAAO,WAAa,EAAG,CACnE,GAAIgB,IAAW,QAAUhB,EAAO,aAAa,UAAU,EACrD,MAAM,IAAI,MAAM,mFAAmF,EAGrG,GAAIgB,IAAW,QAAUhB,EAAO,aAAa,UAAU,GAAKA,EAAO,aAAa,UAAU,GACxF,MAAM,IAAI,MAAM,uGAAwG,CAE5H,KACE,OAAM,IAAI,MAAM,6CAA6C,EAKjE,GAAIkB,GACF,OAAOP,EAAaO,GAAM,CACxB,UAAWD,CACb,CAAC,EAIH,GAAIjB,EACF,OAAOgB,IAAW,MAAQd,EAAYF,CAAM,EAAIW,EAAaX,EAAQ,CACnE,UAAWiB,CACb,CAAC,CAEL,EAEiCE,EAAmBL,EAEpD,SAASM,EAAiBP,EAAK,CAAE,0BAA2B,OAAI,OAAO,QAAW,YAAc,OAAO,OAAO,UAAa,SAAYO,EAAmB,SAAiBP,EAAK,CAAE,OAAO,OAAOA,CAAK,EAAYO,EAAmB,SAAiBP,EAAK,CAAE,OAAOA,GAAO,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,UAAY,SAAW,OAAOA,CAAK,EAAYO,EAAiBP,CAAG,CAAG,CAE7Z,SAASQ,EAAgBC,EAAUC,EAAa,CAAE,GAAI,EAAED,aAAoBC,GAAgB,MAAM,IAAI,UAAU,mCAAmC,CAAK,CAExJ,SAASC,GAAkBxB,EAAQyB,EAAO,CAAE,QAASC,EAAI,EAAGA,EAAID,EAAM,OAAQC,IAAK,CAAE,IAAIC,EAAaF,EAAMC,CAAC,EAAGC,EAAW,WAAaA,EAAW,YAAc,GAAOA,EAAW,aAAe,GAAU,UAAWA,IAAYA,EAAW,SAAW,IAAM,OAAO,eAAe3B,EAAQ2B,EAAW,IAAKA,CAAU,CAAG,CAAE,CAE5T,SAASC,EAAaL,EAAaM,EAAYC,EAAa,CAAE,OAAID,GAAYL,GAAkBD,EAAY,UAAWM,CAAU,EAAOC,GAAaN,GAAkBD,EAAaO,CAAW,EAAUP,CAAa,CAEtN,SAASQ,GAAUC,EAAUC,EAAY,CAAE,GAAI,OAAOA,GAAe,YAAcA,IAAe,KAAQ,MAAM,IAAI,UAAU,oDAAoD,EAAKD,EAAS,UAAY,OAAO,OAAOC,GAAcA,EAAW,UAAW,CAAE,YAAa,CAAE,MAAOD,EAAU,SAAU,GAAM,aAAc,EAAK,CAAE,CAAC,EAAOC,GAAYC,GAAgBF,EAAUC,CAAU,CAAG,CAEhY,SAASC,GAAgBC,EAAGC,EAAG,CAAE,OAAAF,GAAkB,OAAO,gBAAkB,SAAyBC,EAAGC,EAAG,CAAE,OAAAD,EAAE,UAAYC,EAAUD,CAAG,EAAUD,GAAgBC,EAAGC,CAAC,CAAG,CAEzK,SAASC,GAAaC,EAAS,CAAE,IAAIC,EAA4BC,GAA0B,EAAG,OAAO,UAAgC,CAAE,IAAIC,EAAQC,GAAgBJ,CAAO,EAAGK,EAAQ,GAAIJ,EAA2B,CAAE,IAAIK,EAAYF,GAAgB,IAAI,EAAE,YAAaC,EAAS,QAAQ,UAAUF,EAAO,UAAWG,CAAS,CAAG,MAASD,EAASF,EAAM,MAAM,KAAM,SAAS,EAAK,OAAOI,GAA2B,KAAMF,CAAM,CAAG,CAAG,CAExa,SAASE,GAA2BC,EAAMC,EAAM,CAAE,OAAIA,IAAS3B,EAAiB2B,CAAI,IAAM,UAAY,OAAOA,GAAS,YAAsBA,EAAeC,GAAuBF,CAAI,CAAG,CAEzL,SAASE,GAAuBF,EAAM,CAAE,GAAIA,IAAS,OAAU,MAAM,IAAI,eAAe,2DAA2D,EAAK,OAAOA,CAAM,CAErK,SAASN,IAA4B,CAA0E,GAApE,OAAO,QAAY,KAAe,CAAC,QAAQ,WAA6B,QAAQ,UAAU,KAAM,MAAO,GAAO,GAAI,OAAO,OAAU,WAAY,MAAO,GAAM,GAAI,CAAE,YAAK,UAAU,SAAS,KAAK,QAAQ,UAAU,KAAM,CAAC,EAAG,UAAY,CAAC,CAAC,CAAC,EAAU,EAAM,MAAY,CAAE,MAAO,EAAO,CAAE,CAEnU,SAASE,GAAgBP,EAAG,CAAE,OAAAO,GAAkB,OAAO,eAAiB,OAAO,eAAiB,SAAyBP,EAAG,CAAE,OAAOA,EAAE,WAAa,OAAO,eAAeA,CAAC,CAAG,EAAUO,GAAgBP,CAAC,CAAG,CAa5M,SAASc,EAAkBC,EAAQC,EAAS,CAC1C,IAAIC,EAAY,kBAAkB,OAAOF,CAAM,EAE/C,GAAKC,EAAQ,aAAaC,CAAS,EAInC,OAAOD,EAAQ,aAAaC,CAAS,CACvC,CAOA,IAAIC,EAAyB,SAAUC,EAAU,CAC/CvB,GAAUsB,EAAWC,CAAQ,EAE7B,IAAIC,EAASlB,GAAagB,CAAS,EAMnC,SAASA,EAAUG,EAAS/C,EAAS,CACnC,IAAIgD,EAEJ,OAAApC,EAAgB,KAAMgC,CAAS,EAE/BI,EAAQF,EAAO,KAAK,IAAI,EAExBE,EAAM,eAAehD,CAAO,EAE5BgD,EAAM,YAAYD,CAAO,EAElBC,CACT,CAQA,OAAA7B,EAAayB,EAAW,CAAC,CACvB,IAAK,iBACL,MAAO,UAA0B,CAC/B,IAAI5C,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAC,EACnF,KAAK,OAAS,OAAOA,EAAQ,QAAW,WAAaA,EAAQ,OAAS,KAAK,cAC3E,KAAK,OAAS,OAAOA,EAAQ,QAAW,WAAaA,EAAQ,OAAS,KAAK,cAC3E,KAAK,KAAO,OAAOA,EAAQ,MAAS,WAAaA,EAAQ,KAAO,KAAK,YACrE,KAAK,UAAYW,EAAiBX,EAAQ,SAAS,IAAM,SAAWA,EAAQ,UAAY,SAAS,IACnG,CAMF,EAAG,CACD,IAAK,cACL,MAAO,SAAqB+C,EAAS,CACnC,IAAIE,EAAS,KAEb,KAAK,SAAWhE,EAAe,EAAE8D,EAAS,QAAS,SAAUG,GAAG,CAC9D,OAAOD,EAAO,QAAQC,EAAC,CACzB,CAAC,CACH,CAMF,EAAG,CACD,IAAK,UACL,MAAO,SAAiBA,EAAG,CACzB,IAAIH,EAAUG,EAAE,gBAAkBA,EAAE,cAChC3C,GAAS,KAAK,OAAOwC,CAAO,GAAK,OACjCtC,GAAOC,EAAgB,CACzB,OAAQH,GACR,UAAW,KAAK,UAChB,OAAQ,KAAK,OAAOwC,CAAO,EAC3B,KAAM,KAAK,KAAKA,CAAO,CACzB,CAAC,EAED,KAAK,KAAKtC,GAAO,UAAY,QAAS,CACpC,OAAQF,GACR,KAAME,GACN,QAASsC,EACT,eAAgB,UAA0B,CACpCA,GACFA,EAAQ,MAAM,EAGhB,OAAO,aAAa,EAAE,gBAAgB,CACxC,CACF,CAAC,CACH,CAMF,EAAG,CACD,IAAK,gBACL,MAAO,SAAuBA,EAAS,CACrC,OAAOP,EAAkB,SAAUO,CAAO,CAC5C,CAMF,EAAG,CACD,IAAK,gBACL,MAAO,SAAuBA,EAAS,CACrC,IAAII,EAAWX,EAAkB,SAAUO,CAAO,EAElD,GAAII,EACF,OAAO,SAAS,cAAcA,CAAQ,CAE1C,CAQF,EAAG,CACD,IAAK,cAML,MAAO,SAAqBJ,EAAS,CACnC,OAAOP,EAAkB,OAAQO,CAAO,CAC1C,CAKF,EAAG,CACD,IAAK,UACL,MAAO,UAAmB,CACxB,KAAK,SAAS,QAAQ,CACxB,CACF,CAAC,EAAG,CAAC,CACH,IAAK,OACL,MAAO,SAAcxD,EAAQ,CAC3B,IAAIS,EAAU,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAChF,UAAW,SAAS,IACtB,EACA,OAAOE,EAAaX,EAAQS,CAAO,CACrC,CAOF,EAAG,CACD,IAAK,MACL,MAAO,SAAaT,EAAQ,CAC1B,OAAOE,EAAYF,CAAM,CAC3B,CAOF,EAAG,CACD,IAAK,cACL,MAAO,UAAuB,CAC5B,IAAIgB,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAC,OAAQ,KAAK,EAC3F6C,EAAU,OAAO7C,GAAW,SAAW,CAACA,CAAM,EAAIA,EAClD8C,GAAU,CAAC,CAAC,SAAS,sBACzB,OAAAD,EAAQ,QAAQ,SAAU7C,GAAQ,CAChC8C,GAAUA,IAAW,CAAC,CAAC,SAAS,sBAAsB9C,EAAM,CAC9D,CAAC,EACM8C,EACT,CACF,CAAC,CAAC,EAEKT,CACT,EAAG7D,EAAqB,CAAE,EAEOF,EAAa+D,CAExC,EAEA,IACC,SAAStE,EAAQ,CAExB,IAAIgF,EAAqB,EAKzB,GAAI,OAAO,QAAY,KAAe,CAAC,QAAQ,UAAU,QAAS,CAC9D,IAAIC,EAAQ,QAAQ,UAEpBA,EAAM,QAAUA,EAAM,iBACNA,EAAM,oBACNA,EAAM,mBACNA,EAAM,kBACNA,EAAM,qBAC1B,CASA,SAASC,EAASd,EAASS,EAAU,CACjC,KAAOT,GAAWA,EAAQ,WAAaY,GAAoB,CACvD,GAAI,OAAOZ,EAAQ,SAAY,YAC3BA,EAAQ,QAAQS,CAAQ,EAC1B,OAAOT,EAETA,EAAUA,EAAQ,UACtB,CACJ,CAEApE,EAAO,QAAUkF,CAGX,EAEA,IACC,SAASlF,EAAQmF,EAA0B7E,EAAqB,CAEvE,IAAI4E,EAAU5E,EAAoB,GAAG,EAYrC,SAAS8E,EAAUhB,EAASS,EAAU9D,EAAMsE,EAAUC,EAAY,CAC9D,IAAIC,EAAaC,EAAS,MAAM,KAAM,SAAS,EAE/C,OAAApB,EAAQ,iBAAiBrD,EAAMwE,EAAYD,CAAU,EAE9C,CACH,QAAS,UAAW,CAChBlB,EAAQ,oBAAoBrD,EAAMwE,EAAYD,CAAU,CAC5D,CACJ,CACJ,CAYA,SAASG,EAASC,EAAUb,EAAU9D,EAAMsE,EAAUC,EAAY,CAE9D,OAAI,OAAOI,EAAS,kBAAqB,WAC9BN,EAAU,MAAM,KAAM,SAAS,EAItC,OAAOrE,GAAS,WAGTqE,EAAU,KAAK,KAAM,QAAQ,EAAE,MAAM,KAAM,SAAS,GAI3D,OAAOM,GAAa,WACpBA,EAAW,SAAS,iBAAiBA,CAAQ,GAI1C,MAAM,UAAU,IAAI,KAAKA,EAAU,SAAUtB,EAAS,CACzD,OAAOgB,EAAUhB,EAASS,EAAU9D,EAAMsE,EAAUC,CAAU,CAClE,CAAC,EACL,CAWA,SAASE,EAASpB,EAASS,EAAU9D,EAAMsE,EAAU,CACjD,OAAO,SAAST,EAAG,CACfA,EAAE,eAAiBM,EAAQN,EAAE,OAAQC,CAAQ,EAEzCD,EAAE,gBACFS,EAAS,KAAKjB,EAASQ,CAAC,CAEhC,CACJ,CAEA5E,EAAO,QAAUyF,CAGX,EAEA,IACC,SAASrF,EAAyBL,EAAS,CAQlDA,EAAQ,KAAO,SAASsB,EAAO,CAC3B,OAAOA,IAAU,QACVA,aAAiB,aACjBA,EAAM,WAAa,CAC9B,EAQAtB,EAAQ,SAAW,SAASsB,EAAO,CAC/B,IAAIN,EAAO,OAAO,UAAU,SAAS,KAAKM,CAAK,EAE/C,OAAOA,IAAU,SACTN,IAAS,qBAAuBA,IAAS,4BACzC,WAAYM,IACZA,EAAM,SAAW,GAAKtB,EAAQ,KAAKsB,EAAM,CAAC,CAAC,EACvD,EAQAtB,EAAQ,OAAS,SAASsB,EAAO,CAC7B,OAAO,OAAOA,GAAU,UACjBA,aAAiB,MAC5B,EAQAtB,EAAQ,GAAK,SAASsB,EAAO,CACzB,IAAIN,EAAO,OAAO,UAAU,SAAS,KAAKM,CAAK,EAE/C,OAAON,IAAS,mBACpB,CAGM,EAEA,IACC,SAASf,EAAQmF,EAA0B7E,EAAqB,CAEvE,IAAIqF,EAAKrF,EAAoB,GAAG,EAC5BmF,EAAWnF,EAAoB,GAAG,EAWtC,SAASI,EAAOO,EAAQF,EAAMsE,EAAU,CACpC,GAAI,CAACpE,GAAU,CAACF,GAAQ,CAACsE,EACrB,MAAM,IAAI,MAAM,4BAA4B,EAGhD,GAAI,CAACM,EAAG,OAAO5E,CAAI,EACf,MAAM,IAAI,UAAU,kCAAkC,EAG1D,GAAI,CAAC4E,EAAG,GAAGN,CAAQ,EACf,MAAM,IAAI,UAAU,mCAAmC,EAG3D,GAAIM,EAAG,KAAK1E,CAAM,EACd,OAAO2E,EAAW3E,EAAQF,EAAMsE,CAAQ,EAEvC,GAAIM,EAAG,SAAS1E,CAAM,EACvB,OAAO4E,EAAe5E,EAAQF,EAAMsE,CAAQ,EAE3C,GAAIM,EAAG,OAAO1E,CAAM,EACrB,OAAO6E,EAAe7E,EAAQF,EAAMsE,CAAQ,EAG5C,MAAM,IAAI,UAAU,2EAA2E,CAEvG,CAWA,SAASO,EAAWG,EAAMhF,EAAMsE,EAAU,CACtC,OAAAU,EAAK,iBAAiBhF,EAAMsE,CAAQ,EAE7B,CACH,QAAS,UAAW,CAChBU,EAAK,oBAAoBhF,EAAMsE,CAAQ,CAC3C,CACJ,CACJ,CAWA,SAASQ,EAAeG,EAAUjF,EAAMsE,EAAU,CAC9C,aAAM,UAAU,QAAQ,KAAKW,EAAU,SAASD,EAAM,CAClDA,EAAK,iBAAiBhF,EAAMsE,CAAQ,CACxC,CAAC,EAEM,CACH,QAAS,UAAW,CAChB,MAAM,UAAU,QAAQ,KAAKW,EAAU,SAASD,EAAM,CAClDA,EAAK,oBAAoBhF,EAAMsE,CAAQ,CAC3C,CAAC,CACL,CACJ,CACJ,CAWA,SAASS,EAAejB,EAAU9D,EAAMsE,EAAU,CAC9C,OAAOI,EAAS,SAAS,KAAMZ,EAAU9D,EAAMsE,CAAQ,CAC3D,CAEArF,EAAO,QAAUU,CAGX,EAEA,IACC,SAASV,EAAQ,CAExB,SAASiG,EAAO7B,EAAS,CACrB,IAAIlD,EAEJ,GAAIkD,EAAQ,WAAa,SACrBA,EAAQ,MAAM,EAEdlD,EAAekD,EAAQ,cAElBA,EAAQ,WAAa,SAAWA,EAAQ,WAAa,WAAY,CACtE,IAAI8B,EAAa9B,EAAQ,aAAa,UAAU,EAE3C8B,GACD9B,EAAQ,aAAa,WAAY,EAAE,EAGvCA,EAAQ,OAAO,EACfA,EAAQ,kBAAkB,EAAGA,EAAQ,MAAM,MAAM,EAE5C8B,GACD9B,EAAQ,gBAAgB,UAAU,EAGtClD,EAAekD,EAAQ,KAC3B,KACK,CACGA,EAAQ,aAAa,iBAAiB,GACtCA,EAAQ,MAAM,EAGlB,IAAI+B,EAAY,OAAO,aAAa,EAChCC,EAAQ,SAAS,YAAY,EAEjCA,EAAM,mBAAmBhC,CAAO,EAChC+B,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAK,EAExBlF,EAAeiF,EAAU,SAAS,CACtC,CAEA,OAAOjF,CACX,CAEAlB,EAAO,QAAUiG,CAGX,EAEA,IACC,SAASjG,EAAQ,CAExB,SAASqG,GAAK,CAGd,CAEAA,EAAE,UAAY,CACZ,GAAI,SAAUC,EAAMjB,EAAUkB,EAAK,CACjC,IAAI3B,EAAI,KAAK,IAAM,KAAK,EAAI,CAAC,GAE7B,OAACA,EAAE0B,CAAI,IAAM1B,EAAE0B,CAAI,EAAI,CAAC,IAAI,KAAK,CAC/B,GAAIjB,EACJ,IAAKkB,CACP,CAAC,EAEM,IACT,EAEA,KAAM,SAAUD,EAAMjB,EAAUkB,EAAK,CACnC,IAAIxC,EAAO,KACX,SAASyB,GAAY,CACnBzB,EAAK,IAAIuC,EAAMd,CAAQ,EACvBH,EAAS,MAAMkB,EAAK,SAAS,CAC/B,CAEA,OAAAf,EAAS,EAAIH,EACN,KAAK,GAAGiB,EAAMd,EAAUe,CAAG,CACpC,EAEA,KAAM,SAAUD,EAAM,CACpB,IAAIE,EAAO,CAAC,EAAE,MAAM,KAAK,UAAW,CAAC,EACjCC,IAAW,KAAK,IAAM,KAAK,EAAI,CAAC,IAAIH,CAAI,GAAK,CAAC,GAAG,MAAM,EACvD3D,EAAI,EACJ+D,EAAMD,EAAO,OAEjB,IAAK9D,EAAGA,EAAI+D,EAAK/D,IACf8D,EAAO9D,CAAC,EAAE,GAAG,MAAM8D,EAAO9D,CAAC,EAAE,IAAK6D,CAAI,EAGxC,OAAO,IACT,EAEA,IAAK,SAAUF,EAAMjB,EAAU,CAC7B,IAAIT,EAAI,KAAK,IAAM,KAAK,EAAI,CAAC,GACzB+B,EAAO/B,EAAE0B,CAAI,EACbM,EAAa,CAAC,EAElB,GAAID,GAAQtB,EACV,QAAS1C,EAAI,EAAG+D,EAAMC,EAAK,OAAQhE,EAAI+D,EAAK/D,IACtCgE,EAAKhE,CAAC,EAAE,KAAO0C,GAAYsB,EAAKhE,CAAC,EAAE,GAAG,IAAM0C,GAC9CuB,EAAW,KAAKD,EAAKhE,CAAC,CAAC,EAQ7B,OAACiE,EAAW,OACRhC,EAAE0B,CAAI,EAAIM,EACV,OAAOhC,EAAE0B,CAAI,EAEV,IACT,CACF,EAEAtG,EAAO,QAAUqG,EACjBrG,EAAO,QAAQ,YAAcqG,CAGvB,CAEI,EAGIQ,EAA2B,CAAC,EAGhC,SAASvG,EAAoBwG,EAAU,CAEtC,GAAGD,EAAyBC,CAAQ,EACnC,OAAOD,EAAyBC,CAAQ,EAAE,QAG3C,IAAI9G,EAAS6G,EAAyBC,CAAQ,EAAI,CAGjD,QAAS,CAAC,CACX,EAGA,OAAA3G,EAAoB2G,CAAQ,EAAE9G,EAAQA,EAAO,QAASM,CAAmB,EAGlEN,EAAO,OACf,CAIA,OAAC,UAAW,CAEXM,EAAoB,EAAI,SAASN,EAAQ,CACxC,IAAI+G,EAAS/G,GAAUA,EAAO,WAC7B,UAAW,CAAE,OAAOA,EAAO,OAAY,EACvC,UAAW,CAAE,OAAOA,CAAQ,EAC7B,OAAAM,EAAoB,EAAEyG,EAAQ,CAAE,EAAGA,CAAO,CAAC,EACpCA,CACR,CACD,EAAE,EAGD,UAAW,CAEXzG,EAAoB,EAAI,SAASP,EAASiH,EAAY,CACrD,QAAQC,KAAOD,EACX1G,EAAoB,EAAE0G,EAAYC,CAAG,GAAK,CAAC3G,EAAoB,EAAEP,EAASkH,CAAG,GAC/E,OAAO,eAAelH,EAASkH,EAAK,CAAE,WAAY,GAAM,IAAKD,EAAWC,CAAG,CAAE,CAAC,CAGjF,CACD,EAAE,EAGD,UAAW,CACX3G,EAAoB,EAAI,SAASwB,EAAKoF,EAAM,CAAE,OAAO,OAAO,UAAU,eAAe,KAAKpF,EAAKoF,CAAI,CAAG,CACvG,EAAE,EAMK5G,EAAoB,GAAG,CAC/B,EAAG,EACX,OACD,CAAC,ICz3BD,IAAA6G,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAEA,SAASC,GAAWC,EAAK,CACvB,OAAIA,aAAe,IACjBA,EAAI,MACFA,EAAI,OACJA,EAAI,IACF,UAAY,CACV,MAAM,IAAI,MAAM,kBAAkB,CACpC,EACKA,aAAe,MACxBA,EAAI,IACFA,EAAI,MACJA,EAAI,OACF,UAAY,CACV,MAAM,IAAI,MAAM,kBAAkB,CACpC,GAIN,OAAO,OAAOA,CAAG,EAEjB,OAAO,oBAAoBA,CAAG,EAAE,QAASC,GAAS,CAChD,IAAMC,EAAOF,EAAIC,CAAI,EACfE,EAAO,OAAOD,GAGfC,IAAS,UAAYA,IAAS,aAAe,CAAC,OAAO,SAASD,CAAI,GACrEH,GAAWG,CAAI,CAEnB,CAAC,EAEMF,CACT,CAMA,IAAMI,GAAN,KAAe,CAIb,YAAYC,EAAM,CAEZA,EAAK,OAAS,SAAWA,EAAK,KAAO,CAAC,GAE1C,KAAK,KAAOA,EAAK,KACjB,KAAK,eAAiB,EACxB,CAEA,aAAc,CACZ,KAAK,eAAiB,EACxB,CACF,EAMA,SAASC,GAAWC,EAAO,CACzB,OAAOA,EACJ,QAAQ,KAAM,OAAO,EACrB,QAAQ,KAAM,MAAM,EACpB,QAAQ,KAAM,MAAM,EACpB,QAAQ,KAAM,QAAQ,EACtB,QAAQ,KAAM,QAAQ,CAC3B,CAUA,SAASC,GAAUC,KAAaC,EAAS,CAEvC,IAAMC,EAAS,OAAO,OAAO,IAAI,EAEjC,QAAWC,KAAOH,EAChBE,EAAOC,CAAG,EAAIH,EAASG,CAAG,EAE5B,OAAAF,EAAQ,QAAQ,SAASV,EAAK,CAC5B,QAAWY,KAAOZ,EAChBW,EAAOC,CAAG,EAAIZ,EAAIY,CAAG,CAEzB,CAAC,EACwBD,CAC3B,CAcA,IAAME,GAAa,UAMbC,GAAqBC,GAGlB,CAAC,CAACA,EAAK,MAQVC,GAAkB,CAACf,EAAM,CAAE,OAAAgB,CAAO,IAAM,CAE5C,GAAIhB,EAAK,WAAW,WAAW,EAC7B,OAAOA,EAAK,QAAQ,YAAa,WAAW,EAG9C,GAAIA,EAAK,SAAS,GAAG,EAAG,CACtB,IAAMiB,EAASjB,EAAK,MAAM,GAAG,EAC7B,MAAO,CACL,GAAGgB,CAAM,GAAGC,EAAO,MAAM,CAAC,GAC1B,GAAIA,EAAO,IAAI,CAACC,EAAGC,IAAM,GAAGD,CAAC,GAAG,IAAI,OAAOC,EAAI,CAAC,CAAC,EAAE,CACrD,EAAE,KAAK,GAAG,CACZ,CAEA,MAAO,GAAGH,CAAM,GAAGhB,CAAI,EACzB,EAGMoB,GAAN,KAAmB,CAOjB,YAAYC,EAAWC,EAAS,CAC9B,KAAK,OAAS,GACd,KAAK,YAAcA,EAAQ,YAC3BD,EAAU,KAAK,IAAI,CACrB,CAMA,QAAQE,EAAM,CACZ,KAAK,QAAUlB,GAAWkB,CAAI,CAChC,CAMA,SAAST,EAAM,CACb,GAAI,CAACD,GAAkBC,CAAI,EAAG,OAE9B,IAAMU,EAAYT,GAAgBD,EAAK,MACrC,CAAE,OAAQ,KAAK,WAAY,CAAC,EAC9B,KAAK,KAAKU,CAAS,CACrB,CAMA,UAAUV,EAAM,CACTD,GAAkBC,CAAI,IAE3B,KAAK,QAAUF,GACjB,CAKA,OAAQ,CACN,OAAO,KAAK,MACd,CAQA,KAAKY,EAAW,CACd,KAAK,QAAU,gBAAgBA,CAAS,IAC1C,CACF,EAQMC,GAAU,CAACC,EAAO,CAAC,IAAM,CAE7B,IAAMhB,EAAS,CAAE,SAAU,CAAC,CAAE,EAC9B,cAAO,OAAOA,EAAQgB,CAAI,EACnBhB,CACT,EAEMiB,GAAN,MAAMC,CAAU,CACd,aAAc,CAEZ,KAAK,SAAWH,GAAQ,EACxB,KAAK,MAAQ,CAAC,KAAK,QAAQ,CAC7B,CAEA,IAAI,KAAM,CACR,OAAO,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,CACzC,CAEA,IAAI,MAAO,CAAE,OAAO,KAAK,QAAU,CAGnC,IAAIX,EAAM,CACR,KAAK,IAAI,SAAS,KAAKA,CAAI,CAC7B,CAGA,SAASe,EAAO,CAEd,IAAMf,EAAOW,GAAQ,CAAE,MAAAI,CAAM,CAAC,EAC9B,KAAK,IAAIf,CAAI,EACb,KAAK,MAAM,KAAKA,CAAI,CACtB,CAEA,WAAY,CACV,GAAI,KAAK,MAAM,OAAS,EACtB,OAAO,KAAK,MAAM,IAAI,CAI1B,CAEA,eAAgB,CACd,KAAO,KAAK,UAAU,GAAE,CAC1B,CAEA,QAAS,CACP,OAAO,KAAK,UAAU,KAAK,SAAU,KAAM,CAAC,CAC9C,CAMA,KAAKgB,EAAS,CAEZ,OAAO,KAAK,YAAY,MAAMA,EAAS,KAAK,QAAQ,CAGtD,CAMA,OAAO,MAAMA,EAAShB,EAAM,CAC1B,OAAI,OAAOA,GAAS,SAClBgB,EAAQ,QAAQhB,CAAI,EACXA,EAAK,WACdgB,EAAQ,SAAShB,CAAI,EACrBA,EAAK,SAAS,QAASiB,GAAU,KAAK,MAAMD,EAASC,CAAK,CAAC,EAC3DD,EAAQ,UAAUhB,CAAI,GAEjBgB,CACT,CAKA,OAAO,UAAUhB,EAAM,CACjB,OAAOA,GAAS,UACfA,EAAK,WAENA,EAAK,SAAS,MAAMkB,GAAM,OAAOA,GAAO,QAAQ,EAGlDlB,EAAK,SAAW,CAACA,EAAK,SAAS,KAAK,EAAE,CAAC,EAEvCA,EAAK,SAAS,QAASiB,GAAU,CAC/BH,EAAU,UAAUG,CAAK,CAC3B,CAAC,EAEL,CACF,EAoBME,GAAN,cAA+BN,EAAU,CAIvC,YAAYL,EAAS,CACnB,MAAM,EACN,KAAK,QAAUA,CACjB,CAKA,QAAQC,EAAM,CACRA,IAAS,IAEb,KAAK,IAAIA,CAAI,CACf,CAGA,WAAWM,EAAO,CAChB,KAAK,SAASA,CAAK,CACrB,CAEA,UAAW,CACT,KAAK,UAAU,CACjB,CAMA,iBAAiBK,EAASlC,EAAM,CAE9B,IAAMc,EAAOoB,EAAQ,KACjBlC,IAAMc,EAAK,MAAQ,YAAYd,CAAI,IAEvC,KAAK,IAAIc,CAAI,CACf,CAEA,QAAS,CAEP,OADiB,IAAIM,GAAa,KAAM,KAAK,OAAO,EACpC,MAAM,CACxB,CAEA,UAAW,CACT,YAAK,cAAc,EACZ,EACT,CACF,EAWA,SAASe,GAAOC,EAAI,CAClB,OAAKA,EACD,OAAOA,GAAO,SAAiBA,EAE5BA,EAAG,OAHM,IAIlB,CAMA,SAASC,GAAUD,EAAI,CACrB,OAAOE,GAAO,MAAOF,EAAI,GAAG,CAC9B,CAMA,SAASG,GAAiBH,EAAI,CAC5B,OAAOE,GAAO,MAAOF,EAAI,IAAI,CAC/B,CAMA,SAASI,GAASJ,EAAI,CACpB,OAAOE,GAAO,MAAOF,EAAI,IAAI,CAC/B,CAMA,SAASE,MAAUG,EAAM,CAEvB,OADeA,EAAK,IAAKvB,GAAMiB,GAAOjB,CAAC,CAAC,EAAE,KAAK,EAAE,CAEnD,CAMA,SAASwB,GAAqBD,EAAM,CAClC,IAAMf,EAAOe,EAAKA,EAAK,OAAS,CAAC,EAEjC,OAAI,OAAOf,GAAS,UAAYA,EAAK,cAAgB,QACnDe,EAAK,OAAOA,EAAK,OAAS,EAAG,CAAC,EACvBf,GAEA,CAAC,CAEZ,CAWA,SAASiB,MAAUF,EAAM,CAMvB,MAHe,KADFC,GAAqBD,CAAI,EAE5B,QAAU,GAAK,MACrBA,EAAK,IAAKvB,GAAMiB,GAAOjB,CAAC,CAAC,EAAE,KAAK,GAAG,EAAI,GAE7C,CAMA,SAAS0B,GAAiBR,EAAI,CAC5B,OAAQ,IAAI,OAAOA,EAAG,SAAS,EAAI,GAAG,EAAG,KAAK,EAAE,EAAE,OAAS,CAC7D,CAOA,SAASS,GAAWT,EAAIU,EAAQ,CAC9B,IAAMC,EAAQX,GAAMA,EAAG,KAAKU,CAAM,EAClC,OAAOC,GAASA,EAAM,QAAU,CAClC,CASA,IAAMC,GAAa,iDAanB,SAASC,GAAuBC,EAAS,CAAE,SAAAC,CAAS,EAAG,CACrD,IAAIC,EAAc,EAElB,OAAOF,EAAQ,IAAKG,GAAU,CAC5BD,GAAe,EACf,IAAME,EAASF,EACXhB,EAAKD,GAAOkB,CAAK,EACjBE,EAAM,GAEV,KAAOnB,EAAG,OAAS,GAAG,CACpB,IAAMW,EAAQC,GAAW,KAAKZ,CAAE,EAChC,GAAI,CAACW,EAAO,CACVQ,GAAOnB,EACP,KACF,CACAmB,GAAOnB,EAAG,UAAU,EAAGW,EAAM,KAAK,EAClCX,EAAKA,EAAG,UAAUW,EAAM,MAAQA,EAAM,CAAC,EAAE,MAAM,EAC3CA,EAAM,CAAC,EAAE,CAAC,IAAM,MAAQA,EAAM,CAAC,EAEjCQ,GAAO,KAAO,OAAO,OAAOR,EAAM,CAAC,CAAC,EAAIO,CAAM,GAE9CC,GAAOR,EAAM,CAAC,EACVA,EAAM,CAAC,IAAM,KACfK,IAGN,CACA,OAAOG,CACT,CAAC,EAAE,IAAInB,GAAM,IAAIA,CAAE,GAAG,EAAE,KAAKe,CAAQ,CACvC,CAMA,IAAMK,GAAmB,OACnBC,GAAW,eACXC,GAAsB,gBACtBC,GAAY,oBACZC,GAAc,yEACdC,GAAmB,eACnBC,GAAiB,+IAKjBC,GAAU,CAACrC,EAAO,CAAC,IAAM,CAC7B,IAAMsC,EAAe,YACrB,OAAItC,EAAK,SACPA,EAAK,MAAQY,GACX0B,EACA,OACAtC,EAAK,OACL,MAAM,GAEHnB,GAAU,CACf,MAAO,OACP,MAAOyD,EACP,IAAK,IACL,UAAW,EAEX,WAAY,CAACC,EAAGC,IAAS,CACnBD,EAAE,QAAU,GAAGC,EAAK,YAAY,CACtC,CACF,EAAGxC,CAAI,CACT,EAGMyC,GAAmB,CACvB,MAAO,eAAgB,UAAW,CACpC,EACMC,GAAmB,CACvB,MAAO,SACP,MAAO,IACP,IAAK,IACL,QAAS,MACT,SAAU,CAACD,EAAgB,CAC7B,EACME,GAAoB,CACxB,MAAO,SACP,MAAO,IACP,IAAK,IACL,QAAS,MACT,SAAU,CAACF,EAAgB,CAC7B,EACMG,GAAqB,CACzB,MAAO,4IACT,EASMC,GAAU,SAASC,EAAOC,EAAKC,EAAc,CAAC,EAAG,CACrD,IAAMtE,EAAOG,GACX,CACE,MAAO,UACP,MAAAiE,EACA,IAAAC,EACA,SAAU,CAAC,CACb,EACAC,CACF,EACAtE,EAAK,SAAS,KAAK,CACjB,MAAO,SAGP,MAAO,mDACP,IAAK,2CACL,aAAc,GACd,UAAW,CACb,CAAC,EACD,IAAMuE,EAAehC,GAEnB,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KAEA,iCACA,qBACA,mBACF,EAEA,OAAAvC,EAAK,SAAS,KACZ,CAgBE,MAAOkC,GACL,OACA,IACAqC,EACA,uBACA,MAAM,CACV,CACF,EACOvE,CACT,EACMwE,GAAsBL,GAAQ,KAAM,GAAG,EACvCM,GAAuBN,GAAQ,OAAQ,MAAM,EAC7CO,GAAoBP,GAAQ,IAAK,GAAG,EACpCQ,GAAc,CAClB,MAAO,SACP,MAAOpB,GACP,UAAW,CACb,EACMqB,GAAgB,CACpB,MAAO,SACP,MAAOpB,GACP,UAAW,CACb,EACMqB,GAAqB,CACzB,MAAO,SACP,MAAOpB,GACP,UAAW,CACb,EACMqB,GAAc,CAClB,MAAO,SACP,MAAO,kBACP,IAAK,aACL,SAAU,CACRf,GACA,CACE,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAU,CAACA,EAAgB,CAC7B,CACF,CACF,EACMgB,GAAa,CACjB,MAAO,QACP,MAAO1B,GACP,UAAW,CACb,EACM2B,GAAwB,CAC5B,MAAO,QACP,MAAO1B,GACP,UAAW,CACb,EACM2B,GAAe,CAEnB,MAAO,UAAY3B,GACnB,UAAW,CACb,EASM4B,GAAoB,SAASlF,EAAM,CACvC,OAAO,OAAO,OAAOA,EACnB,CAEE,WAAY,CAAC6D,EAAGC,IAAS,CAAEA,EAAK,KAAK,YAAcD,EAAE,CAAC,CAAG,EAEzD,SAAU,CAACA,EAAGC,IAAS,CAAMA,EAAK,KAAK,cAAgBD,EAAE,CAAC,GAAGC,EAAK,YAAY,CAAG,CACnF,CAAC,CACL,EAEIqB,GAAqB,OAAO,OAAO,CACrC,UAAW,KACX,iBAAkBnB,GAClB,iBAAkBD,GAClB,mBAAoBc,GACpB,iBAAkBpB,GAClB,QAASU,GACT,qBAAsBM,GACtB,oBAAqBD,GACrB,cAAeI,GACf,YAAapB,GACb,kBAAmB0B,GACnB,kBAAmBR,GACnB,SAAUrB,GACV,iBAAkBD,GAClB,aAAc6B,GACd,YAAaN,GACb,UAAWpB,GACX,mBAAoBW,GACpB,kBAAmBD,GACnB,YAAaa,GACb,eAAgBpB,GAChB,QAASC,GACT,WAAYoB,GACZ,oBAAqBzB,GACrB,sBAAuB0B,EACzB,CAAC,EA+BD,SAASI,GAAsBzC,EAAO0C,EAAU,CAC/B1C,EAAM,MAAMA,EAAM,MAAQ,CAAC,IAC3B,KACb0C,EAAS,YAAY,CAEzB,CAMA,SAASC,GAAetF,EAAMuF,EAAS,CAEjCvF,EAAK,YAAc,SACrBA,EAAK,MAAQA,EAAK,UAClB,OAAOA,EAAK,UAEhB,CAMA,SAASwF,GAAcxF,EAAMyF,EAAQ,CAC9BA,GACAzF,EAAK,gBAOVA,EAAK,MAAQ,OAASA,EAAK,cAAc,MAAM,GAAG,EAAE,KAAK,GAAG,EAAI,sBAChEA,EAAK,cAAgBoF,GACrBpF,EAAK,SAAWA,EAAK,UAAYA,EAAK,cACtC,OAAOA,EAAK,cAKRA,EAAK,YAAc,SAAWA,EAAK,UAAY,GACrD,CAMA,SAAS0F,GAAe1F,EAAMuF,EAAS,CAChC,MAAM,QAAQvF,EAAK,OAAO,IAE/BA,EAAK,QAAUuC,GAAO,GAAGvC,EAAK,OAAO,EACvC,CAMA,SAAS2F,GAAa3F,EAAMuF,EAAS,CACnC,GAAKvF,EAAK,MACV,IAAIA,EAAK,OAASA,EAAK,IAAK,MAAM,IAAI,MAAM,0CAA0C,EAEtFA,EAAK,MAAQA,EAAK,MAClB,OAAOA,EAAK,MACd,CAMA,SAAS4F,GAAiB5F,EAAMuF,EAAS,CAEnCvF,EAAK,YAAc,SAAWA,EAAK,UAAY,EACrD,CAIA,IAAM6F,GAAiB,CAAC7F,EAAMyF,IAAW,CACvC,GAAI,CAACzF,EAAK,YAAa,OAGvB,GAAIA,EAAK,OAAQ,MAAM,IAAI,MAAM,wCAAwC,EAEzE,IAAM8F,EAAe,OAAO,OAAO,CAAC,EAAG9F,CAAI,EAC3C,OAAO,KAAKA,CAAI,EAAE,QAASO,GAAQ,CAAE,OAAOP,EAAKO,CAAG,CAAG,CAAC,EAExDP,EAAK,SAAW8F,EAAa,SAC7B9F,EAAK,MAAQkC,GAAO4D,EAAa,YAAa7D,GAAU6D,EAAa,KAAK,CAAC,EAC3E9F,EAAK,OAAS,CACZ,UAAW,EACX,SAAU,CACR,OAAO,OAAO8F,EAAc,CAAE,WAAY,EAAK,CAAC,CAClD,CACF,EACA9F,EAAK,UAAY,EAEjB,OAAO8F,EAAa,WACtB,EAGMC,GAAkB,CACtB,KACA,MACA,MACA,KACA,MACA,KACA,KACA,OACA,SACA,OACA,OACF,EAEMC,GAAwB,UAQ9B,SAASC,GAAgBC,EAAaC,EAAiBC,EAAYJ,GAAuB,CAExF,IAAMK,EAAmB,OAAO,OAAO,IAAI,EAI3C,OAAI,OAAOH,GAAgB,SACzBI,EAAYF,EAAWF,EAAY,MAAM,GAAG,CAAC,EACpC,MAAM,QAAQA,CAAW,EAClCI,EAAYF,EAAWF,CAAW,EAElC,OAAO,KAAKA,CAAW,EAAE,QAAQ,SAASE,EAAW,CAEnD,OAAO,OACLC,EACAJ,GAAgBC,EAAYE,CAAS,EAAGD,EAAiBC,CAAS,CACpE,CACF,CAAC,EAEIC,EAYP,SAASC,EAAYF,EAAWG,EAAa,CACvCJ,IACFI,EAAcA,EAAY,IAAIzF,GAAKA,EAAE,YAAY,CAAC,GAEpDyF,EAAY,QAAQ,SAASC,EAAS,CACpC,IAAMC,EAAOD,EAAQ,MAAM,GAAG,EAC9BH,EAAiBI,EAAK,CAAC,CAAC,EAAI,CAACL,EAAWM,GAAgBD,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,CAAC,CAC3E,CAAC,CACH,CACF,CAUA,SAASC,GAAgBF,EAASG,EAAe,CAG/C,OAAIA,EACK,OAAOA,CAAa,EAGtBC,GAAcJ,CAAO,EAAI,EAAI,CACtC,CAMA,SAASI,GAAcJ,EAAS,CAC9B,OAAOT,GAAgB,SAASS,EAAQ,YAAY,CAAC,CACvD,CAYA,IAAMK,GAAmB,CAAC,EAKpBC,GAASC,GAAY,CACzB,QAAQ,MAAMA,CAAO,CACvB,EAMMC,GAAO,CAACD,KAAY1E,IAAS,CACjC,QAAQ,IAAI,SAAS0E,CAAO,GAAI,GAAG1E,CAAI,CACzC,EAMM4E,GAAa,CAACC,EAASH,IAAY,CACnCF,GAAiB,GAAGK,CAAO,IAAIH,CAAO,EAAE,IAE5C,QAAQ,IAAI,oBAAoBG,CAAO,KAAKH,CAAO,EAAE,EACrDF,GAAiB,GAAGK,CAAO,IAAIH,CAAO,EAAE,EAAI,GAC9C,EAQMI,GAAkB,IAAI,MA8B5B,SAASC,GAAgBpH,EAAMqH,EAAS,CAAE,IAAA9G,CAAI,EAAG,CAC/C,IAAI2C,EAAS,EACPoE,EAAatH,EAAKO,CAAG,EAErBgH,EAAO,CAAC,EAERC,EAAY,CAAC,EAEnB,QAASzG,EAAI,EAAGA,GAAKsG,EAAQ,OAAQtG,IACnCyG,EAAUzG,EAAImC,CAAM,EAAIoE,EAAWvG,CAAC,EACpCwG,EAAKxG,EAAImC,CAAM,EAAI,GACnBA,GAAUV,GAAiB6E,EAAQtG,EAAI,CAAC,CAAC,EAI3Cf,EAAKO,CAAG,EAAIiH,EACZxH,EAAKO,CAAG,EAAE,MAAQgH,EAClBvH,EAAKO,CAAG,EAAE,OAAS,EACrB,CAKA,SAASkH,GAAgBzH,EAAM,CAC7B,GAAK,MAAM,QAAQA,EAAK,KAAK,EAE7B,IAAIA,EAAK,MAAQA,EAAK,cAAgBA,EAAK,YACzC,MAAA8G,GAAM,oEAAoE,EACpEK,GAGR,GAAI,OAAOnH,EAAK,YAAe,UAAYA,EAAK,aAAe,KAC7D,MAAA8G,GAAM,2BAA2B,EAC3BK,GAGRC,GAAgBpH,EAAMA,EAAK,MAAO,CAAE,IAAK,YAAa,CAAC,EACvDA,EAAK,MAAQ6C,GAAuB7C,EAAK,MAAO,CAAE,SAAU,EAAG,CAAC,EAClE,CAKA,SAAS0H,GAAc1H,EAAM,CAC3B,GAAK,MAAM,QAAQA,EAAK,GAAG,EAE3B,IAAIA,EAAK,MAAQA,EAAK,YAAcA,EAAK,UACvC,MAAA8G,GAAM,8DAA8D,EAC9DK,GAGR,GAAI,OAAOnH,EAAK,UAAa,UAAYA,EAAK,WAAa,KACzD,MAAA8G,GAAM,yBAAyB,EACzBK,GAGRC,GAAgBpH,EAAMA,EAAK,IAAK,CAAE,IAAK,UAAW,CAAC,EACnDA,EAAK,IAAM6C,GAAuB7C,EAAK,IAAK,CAAE,SAAU,EAAG,CAAC,EAC9D,CAaA,SAAS2H,GAAW3H,EAAM,CACpBA,EAAK,OAAS,OAAOA,EAAK,OAAU,UAAYA,EAAK,QAAU,OACjEA,EAAK,WAAaA,EAAK,MACvB,OAAOA,EAAK,MAEhB,CAKA,SAAS4H,GAAW5H,EAAM,CACxB2H,GAAW3H,CAAI,EAEX,OAAOA,EAAK,YAAe,WAC7BA,EAAK,WAAa,CAAE,MAAOA,EAAK,UAAW,GAEzC,OAAOA,EAAK,UAAa,WAC3BA,EAAK,SAAW,CAAE,MAAOA,EAAK,QAAS,GAGzCyH,GAAgBzH,CAAI,EACpB0H,GAAc1H,CAAI,CACpB,CAoBA,SAAS6H,GAAgBC,EAAU,CAOjC,SAASC,EAAO7H,EAAO8H,EAAQ,CAC7B,OAAO,IAAI,OACTjG,GAAO7B,CAAK,EACZ,KACG4H,EAAS,iBAAmB,IAAM,KAClCA,EAAS,aAAe,IAAM,KAC9BE,EAAS,IAAM,GACpB,CACF,CAeA,MAAMC,CAAW,CACf,aAAc,CACZ,KAAK,aAAe,CAAC,EAErB,KAAK,QAAU,CAAC,EAChB,KAAK,QAAU,EACf,KAAK,SAAW,CAClB,CAGA,QAAQjG,EAAIV,EAAM,CAChBA,EAAK,SAAW,KAAK,WAErB,KAAK,aAAa,KAAK,OAAO,EAAIA,EAClC,KAAK,QAAQ,KAAK,CAACA,EAAMU,CAAE,CAAC,EAC5B,KAAK,SAAWQ,GAAiBR,CAAE,EAAI,CACzC,CAEA,SAAU,CACJ,KAAK,QAAQ,SAAW,IAG1B,KAAK,KAAO,IAAM,MAEpB,IAAMkG,EAAc,KAAK,QAAQ,IAAItG,GAAMA,EAAG,CAAC,CAAC,EAChD,KAAK,UAAYmG,EAAOlF,GAAuBqF,EAAa,CAAE,SAAU,GAAI,CAAC,EAAG,EAAI,EACpF,KAAK,UAAY,CACnB,CAGA,KAAKC,EAAG,CACN,KAAK,UAAU,UAAY,KAAK,UAChC,IAAMxF,EAAQ,KAAK,UAAU,KAAKwF,CAAC,EACnC,GAAI,CAACxF,EAAS,OAAO,KAGrB,IAAM5B,EAAI4B,EAAM,UAAU,CAACf,EAAIb,IAAMA,EAAI,GAAKa,IAAO,MAAS,EAExDwG,EAAY,KAAK,aAAarH,CAAC,EAGrC,OAAA4B,EAAM,OAAO,EAAG5B,CAAC,EAEV,OAAO,OAAO4B,EAAOyF,CAAS,CACvC,CACF,CAiCA,MAAMC,CAAoB,CACxB,aAAc,CAEZ,KAAK,MAAQ,CAAC,EAEd,KAAK,aAAe,CAAC,EACrB,KAAK,MAAQ,EAEb,KAAK,UAAY,EACjB,KAAK,WAAa,CACpB,CAGA,WAAWC,EAAO,CAChB,GAAI,KAAK,aAAaA,CAAK,EAAG,OAAO,KAAK,aAAaA,CAAK,EAE5D,IAAMC,EAAU,IAAIN,EACpB,YAAK,MAAM,MAAMK,CAAK,EAAE,QAAQ,CAAC,CAACtG,EAAIV,CAAI,IAAMiH,EAAQ,QAAQvG,EAAIV,CAAI,CAAC,EACzEiH,EAAQ,QAAQ,EAChB,KAAK,aAAaD,CAAK,EAAIC,EACpBA,CACT,CAEA,4BAA6B,CAC3B,OAAO,KAAK,aAAe,CAC7B,CAEA,aAAc,CACZ,KAAK,WAAa,CACpB,CAGA,QAAQvG,EAAIV,EAAM,CAChB,KAAK,MAAM,KAAK,CAACU,EAAIV,CAAI,CAAC,EACtBA,EAAK,OAAS,SAAS,KAAK,OAClC,CAGA,KAAK6G,EAAG,CACN,IAAMtE,EAAI,KAAK,WAAW,KAAK,UAAU,EACzCA,EAAE,UAAY,KAAK,UACnB,IAAIvD,EAASuD,EAAE,KAAKsE,CAAC,EAiCrB,GAAI,KAAK,2BAA2B,GAC9B,EAAA7H,GAAUA,EAAO,QAAU,KAAK,WAAkB,CACpD,IAAMkI,EAAK,KAAK,WAAW,CAAC,EAC5BA,EAAG,UAAY,KAAK,UAAY,EAChClI,EAASkI,EAAG,KAAKL,CAAC,CACpB,CAGF,OAAI7H,IACF,KAAK,YAAcA,EAAO,SAAW,EACjC,KAAK,aAAe,KAAK,OAE3B,KAAK,YAAY,GAIdA,CACT,CACF,CASA,SAASmI,EAAezI,EAAM,CAC5B,IAAM0I,EAAK,IAAIL,EAEf,OAAArI,EAAK,SAAS,QAAQ2I,GAAQD,EAAG,QAAQC,EAAK,MAAO,CAAE,KAAMA,EAAM,KAAM,OAAQ,CAAC,CAAC,EAE/E3I,EAAK,eACP0I,EAAG,QAAQ1I,EAAK,cAAe,CAAE,KAAM,KAAM,CAAC,EAE5CA,EAAK,SACP0I,EAAG,QAAQ1I,EAAK,QAAS,CAAE,KAAM,SAAU,CAAC,EAGvC0I,CACT,CAyCA,SAASE,EAAY5I,EAAMyF,EAAQ,CACjC,IAAMoD,EAAmC7I,EACzC,GAAIA,EAAK,WAAY,OAAO6I,EAE5B,CACEvD,GAGAK,GACAiC,GACA/B,EACF,EAAE,QAAQiD,GAAOA,EAAI9I,EAAMyF,CAAM,CAAC,EAElCqC,EAAS,mBAAmB,QAAQgB,GAAOA,EAAI9I,EAAMyF,CAAM,CAAC,EAG5DzF,EAAK,cAAgB,KAErB,CACEwF,GAGAE,GAEAE,EACF,EAAE,QAAQkD,GAAOA,EAAI9I,EAAMyF,CAAM,CAAC,EAElCzF,EAAK,WAAa,GAElB,IAAI+I,EAAiB,KACrB,OAAI,OAAO/I,EAAK,UAAa,UAAYA,EAAK,SAAS,WAIrDA,EAAK,SAAW,OAAO,OAAO,CAAC,EAAGA,EAAK,QAAQ,EAC/C+I,EAAiB/I,EAAK,SAAS,SAC/B,OAAOA,EAAK,SAAS,UAEvB+I,EAAiBA,GAAkB,MAE/B/I,EAAK,WACPA,EAAK,SAAWiG,GAAgBjG,EAAK,SAAU8H,EAAS,gBAAgB,GAG1Ee,EAAM,iBAAmBd,EAAOgB,EAAgB,EAAI,EAEhDtD,IACGzF,EAAK,QAAOA,EAAK,MAAQ,SAC9B6I,EAAM,QAAUd,EAAOc,EAAM,KAAK,EAC9B,CAAC7I,EAAK,KAAO,CAACA,EAAK,iBAAgBA,EAAK,IAAM,SAC9CA,EAAK,MAAK6I,EAAM,MAAQd,EAAOc,EAAM,GAAG,GAC5CA,EAAM,cAAgB9G,GAAO8G,EAAM,GAAG,GAAK,GACvC7I,EAAK,gBAAkByF,EAAO,gBAChCoD,EAAM,gBAAkB7I,EAAK,IAAM,IAAM,IAAMyF,EAAO,gBAGtDzF,EAAK,UAAS6I,EAAM,UAAYd,EAAuC/H,EAAK,OAAQ,GACnFA,EAAK,WAAUA,EAAK,SAAW,CAAC,GAErCA,EAAK,SAAW,CAAC,EAAE,OAAO,GAAGA,EAAK,SAAS,IAAI,SAASgJ,EAAG,CACzD,OAAOC,GAAkBD,IAAM,OAAShJ,EAAOgJ,CAAC,CAClD,CAAC,CAAC,EACFhJ,EAAK,SAAS,QAAQ,SAASgJ,EAAG,CAAEJ,EAA+BI,EAAIH,CAAK,CAAG,CAAC,EAE5E7I,EAAK,QACP4I,EAAY5I,EAAK,OAAQyF,CAAM,EAGjCoD,EAAM,QAAUJ,EAAeI,CAAK,EAC7BA,CACT,CAKA,GAHKf,EAAS,qBAAoBA,EAAS,mBAAqB,CAAC,GAG7DA,EAAS,UAAYA,EAAS,SAAS,SAAS,MAAM,EACxD,MAAM,IAAI,MAAM,2FAA2F,EAI7G,OAAAA,EAAS,iBAAmB3H,GAAU2H,EAAS,kBAAoB,CAAC,CAAC,EAE9Dc,EAA+Bd,CAAS,CACjD,CAaA,SAASoB,GAAmBlJ,EAAM,CAChC,OAAKA,EAEEA,EAAK,gBAAkBkJ,GAAmBlJ,EAAK,MAAM,EAF1C,EAGpB,CAYA,SAASiJ,GAAkBjJ,EAAM,CAU/B,OATIA,EAAK,UAAY,CAACA,EAAK,iBACzBA,EAAK,eAAiBA,EAAK,SAAS,IAAI,SAASmJ,EAAS,CACxD,OAAOhJ,GAAUH,EAAM,CAAE,SAAU,IAAK,EAAGmJ,CAAO,CACpD,CAAC,GAMCnJ,EAAK,eACAA,EAAK,eAOVkJ,GAAmBlJ,CAAI,EAClBG,GAAUH,EAAM,CAAE,OAAQA,EAAK,OAASG,GAAUH,EAAK,MAAM,EAAI,IAAK,CAAC,EAG5E,OAAO,SAASA,CAAI,EACfG,GAAUH,CAAI,EAIhBA,CACT,CAEA,IAAIkH,GAAU,SAERkC,GAAN,cAAiC,KAAM,CACrC,YAAYC,EAAQC,EAAM,CACxB,MAAMD,CAAM,EACZ,KAAK,KAAO,qBACZ,KAAK,KAAOC,CACd,CACF,EA+BMC,GAAStJ,GACTuJ,GAAUrJ,GACVsJ,GAAW,OAAO,SAAS,EAC3BC,GAAmB,EAMnBC,GAAO,SAASC,EAAM,CAG1B,IAAMC,EAAY,OAAO,OAAO,IAAI,EAE9BC,EAAU,OAAO,OAAO,IAAI,EAE5BC,EAAU,CAAC,EAIbC,EAAY,GACVC,EAAqB,sFAErBC,EAAqB,CAAE,kBAAmB,GAAM,KAAM,aAAc,SAAU,CAAC,CAAE,EAKnFhJ,EAAU,CACZ,oBAAqB,GACrB,mBAAoB,GACpB,cAAe,qBACf,iBAAkB,8BAClB,YAAa,QACb,YAAa,WACb,UAAW,KAGX,UAAWW,EACb,EAQA,SAASsI,EAAmBC,EAAc,CACxC,OAAOlJ,EAAQ,cAAc,KAAKkJ,CAAY,CAChD,CAKA,SAASC,EAAcC,EAAO,CAC5B,IAAIC,EAAUD,EAAM,UAAY,IAEhCC,GAAWD,EAAM,WAAaA,EAAM,WAAW,UAAY,GAG3D,IAAM3H,EAAQzB,EAAQ,iBAAiB,KAAKqJ,CAAO,EACnD,GAAI5H,EAAO,CACT,IAAMmF,EAAW0C,EAAY7H,EAAM,CAAC,CAAC,EACrC,OAAKmF,IACHd,GAAKiD,EAAmB,QAAQ,KAAMtH,EAAM,CAAC,CAAC,CAAC,EAC/CqE,GAAK,oDAAqDsD,CAAK,GAE1DxC,EAAWnF,EAAM,CAAC,EAAI,cAC/B,CAEA,OAAO4H,EACJ,MAAM,KAAK,EACX,KAAME,GAAWN,EAAmBM,CAAM,GAAKD,EAAYC,CAAM,CAAC,CACvE,CAuBA,SAASC,EAAUC,EAAoBC,EAAeC,EAAgB,CACpE,IAAIC,EAAO,GACPV,EAAe,GACf,OAAOQ,GAAkB,UAC3BE,EAAOH,EACPE,EAAiBD,EAAc,eAC/BR,EAAeQ,EAAc,WAG7B3D,GAAW,SAAU,qDAAqD,EAC1EA,GAAW,SAAU;AAAA,wDAAuG,EAC5HmD,EAAeO,EACfG,EAAOF,GAKLC,IAAmB,SAAaA,EAAiB,IAGrD,IAAME,EAAU,CACd,KAAAD,EACA,SAAUV,CACZ,EAGAY,GAAK,mBAAoBD,CAAO,EAIhC,IAAMzK,EAASyK,EAAQ,OACnBA,EAAQ,OACRE,EAAWF,EAAQ,SAAUA,EAAQ,KAAMF,CAAc,EAE7D,OAAAvK,EAAO,KAAOyK,EAAQ,KAEtBC,GAAK,kBAAmB1K,CAAM,EAEvBA,CACT,CAWA,SAAS2K,EAAWb,EAAcc,EAAiBL,EAAgBM,EAAc,CAC/E,IAAMC,EAAc,OAAO,OAAO,IAAI,EAQtC,SAASC,EAAYrL,EAAMsL,EAAW,CACpC,OAAOtL,EAAK,SAASsL,CAAS,CAChC,CAEA,SAASC,GAAkB,CACzB,GAAI,CAACC,EAAI,SAAU,CACjB1J,EAAQ,QAAQ2J,CAAU,EAC1B,MACF,CAEA,IAAIC,EAAY,EAChBF,EAAI,iBAAiB,UAAY,EACjC,IAAI7I,EAAQ6I,EAAI,iBAAiB,KAAKC,CAAU,EAC5CE,EAAM,GAEV,KAAOhJ,GAAO,CACZgJ,GAAOF,EAAW,UAAUC,EAAW/I,EAAM,KAAK,EAClD,IAAMiJ,EAAO9D,GAAS,iBAAmBnF,EAAM,CAAC,EAAE,YAAY,EAAIA,EAAM,CAAC,EACnEkJ,GAAOR,EAAYG,EAAKI,CAAI,EAClC,GAAIC,GAAM,CACR,GAAM,CAACC,GAAMC,EAAgB,EAAIF,GAMjC,GALA/J,EAAQ,QAAQ6J,CAAG,EACnBA,EAAM,GAENP,EAAYQ,CAAI,GAAKR,EAAYQ,CAAI,GAAK,GAAK,EAC3CR,EAAYQ,CAAI,GAAKlC,KAAkBsC,GAAaD,IACpDD,GAAK,WAAW,GAAG,EAGrBH,GAAOhJ,EAAM,CAAC,MACT,CACL,IAAMsJ,GAAWnE,GAAS,iBAAiBgE,EAAI,GAAKA,GACpDI,GAAYvJ,EAAM,CAAC,EAAGsJ,EAAQ,CAChC,CACF,MACEN,GAAOhJ,EAAM,CAAC,EAEhB+I,EAAYF,EAAI,iBAAiB,UACjC7I,EAAQ6I,EAAI,iBAAiB,KAAKC,CAAU,CAC9C,CACAE,GAAOF,EAAW,UAAUC,CAAS,EACrC5J,EAAQ,QAAQ6J,CAAG,CACrB,CAEA,SAASQ,GAAqB,CAC5B,GAAIV,IAAe,GAAI,OAEvB,IAAInL,EAAS,KAEb,GAAI,OAAOkL,EAAI,aAAgB,SAAU,CACvC,GAAI,CAAC3B,EAAU2B,EAAI,WAAW,EAAG,CAC/B1J,EAAQ,QAAQ2J,CAAU,EAC1B,MACF,CACAnL,EAAS2K,EAAWO,EAAI,YAAaC,EAAY,GAAMW,EAAcZ,EAAI,WAAW,CAAC,EACrFY,EAAcZ,EAAI,WAAW,EAAiClL,EAAO,IACvE,MACEA,EAAS+L,EAAcZ,EAAYD,EAAI,YAAY,OAASA,EAAI,YAAc,IAAI,EAOhFA,EAAI,UAAY,IAClBQ,GAAa1L,EAAO,WAEtBwB,EAAQ,iBAAiBxB,EAAO,SAAUA,EAAO,QAAQ,CAC3D,CAEA,SAASgM,GAAgB,CACnBd,EAAI,aAAe,KACrBW,EAAmB,EAEnBZ,EAAgB,EAElBE,EAAa,EACf,CAMA,SAASS,GAAY1F,EAAS/E,EAAO,CAC/B+E,IAAY,KAEhB1E,EAAQ,WAAWL,CAAK,EACxBK,EAAQ,QAAQ0E,CAAO,EACvB1E,EAAQ,SAAS,EACnB,CAMA,SAASyK,GAAe9K,EAAOkB,EAAO,CACpC,IAAI5B,EAAI,EACFyL,EAAM7J,EAAM,OAAS,EAC3B,KAAO5B,GAAKyL,GAAK,CACf,GAAI,CAAC/K,EAAM,MAAMV,CAAC,EAAG,CAAEA,IAAK,QAAU,CACtC,IAAM0L,GAAQ3E,GAAS,iBAAiBrG,EAAMV,CAAC,CAAC,GAAKU,EAAMV,CAAC,EACtDI,GAAOwB,EAAM5B,CAAC,EAChB0L,GACFP,GAAY/K,GAAMsL,EAAK,GAEvBhB,EAAatK,GACboK,EAAgB,EAChBE,EAAa,IAEf1K,GACF,CACF,CAMA,SAAS2L,GAAa1M,EAAM2C,EAAO,CACjC,OAAI3C,EAAK,OAAS,OAAOA,EAAK,OAAU,UACtC8B,EAAQ,SAASgG,GAAS,iBAAiB9H,EAAK,KAAK,GAAKA,EAAK,KAAK,EAElEA,EAAK,aAEHA,EAAK,WAAW,OAClBkM,GAAYT,EAAY3D,GAAS,iBAAiB9H,EAAK,WAAW,KAAK,GAAKA,EAAK,WAAW,KAAK,EACjGyL,EAAa,IACJzL,EAAK,WAAW,SAEzBuM,GAAevM,EAAK,WAAY2C,CAAK,EACrC8I,EAAa,KAIjBD,EAAM,OAAO,OAAOxL,EAAM,CAAE,OAAQ,CAAE,MAAOwL,CAAI,CAAE,CAAC,EAC7CA,CACT,CAQA,SAASmB,GAAU3M,EAAM2C,EAAOiK,EAAoB,CAClD,IAAIC,EAAUpK,GAAWzC,EAAK,MAAO4M,CAAkB,EAEvD,GAAIC,EAAS,CACX,GAAI7M,EAAK,QAAQ,EAAG,CAClB,IAAM8D,GAAO,IAAI/D,GAASC,CAAI,EAC9BA,EAAK,QAAQ,EAAE2C,EAAOmB,EAAI,EACtBA,GAAK,iBAAgB+I,EAAU,GACrC,CAEA,GAAIA,EAAS,CACX,KAAO7M,EAAK,YAAcA,EAAK,QAC7BA,EAAOA,EAAK,OAEd,OAAOA,CACT,CACF,CAGA,GAAIA,EAAK,eACP,OAAO2M,GAAU3M,EAAK,OAAQ2C,EAAOiK,CAAkB,CAE3D,CAOA,SAASE,GAASpK,EAAQ,CACxB,OAAI8I,EAAI,QAAQ,aAAe,GAG7BC,GAAc/I,EAAO,CAAC,EACf,IAIPqK,GAA2B,GACpB,EAEX,CAQA,SAASC,GAAarK,EAAO,CAC3B,IAAMD,EAASC,EAAM,CAAC,EAChBsK,EAAUtK,EAAM,KAEhBmB,EAAO,IAAI/D,GAASkN,CAAO,EAE3BC,GAAkB,CAACD,EAAQ,cAAeA,EAAQ,UAAU,CAAC,EACnE,QAAWE,MAAMD,GACf,GAAKC,KACLA,GAAGxK,EAAOmB,CAAI,EACVA,EAAK,gBAAgB,OAAOgJ,GAASpK,CAAM,EAGjD,OAAIuK,EAAQ,KACVxB,GAAc/I,GAEVuK,EAAQ,eACVxB,GAAc/I,GAEhB4J,EAAc,EACV,CAACW,EAAQ,aAAe,CAACA,EAAQ,eACnCxB,EAAa/I,IAGjBgK,GAAaO,EAAStK,CAAK,EACpBsK,EAAQ,YAAc,EAAIvK,EAAO,MAC1C,CAOA,SAAS0K,GAAWzK,EAAO,CACzB,IAAMD,EAASC,EAAM,CAAC,EAChBiK,EAAqB1B,EAAgB,UAAUvI,EAAM,KAAK,EAE1D0K,EAAUV,GAAUnB,EAAK7I,EAAOiK,CAAkB,EACxD,GAAI,CAACS,EAAW,OAAO5D,GAEvB,IAAM6D,GAAS9B,EACXA,EAAI,UAAYA,EAAI,SAAS,OAC/Bc,EAAc,EACdJ,GAAYxJ,EAAQ8I,EAAI,SAAS,KAAK,GAC7BA,EAAI,UAAYA,EAAI,SAAS,QACtCc,EAAc,EACdC,GAAef,EAAI,SAAU7I,CAAK,GACzB2K,GAAO,KAChB7B,GAAc/I,GAER4K,GAAO,WAAaA,GAAO,aAC/B7B,GAAc/I,GAEhB4J,EAAc,EACVgB,GAAO,aACT7B,EAAa/I,IAGjB,GACM8I,EAAI,OACN1J,EAAQ,UAAU,EAEhB,CAAC0J,EAAI,MAAQ,CAACA,EAAI,cACpBQ,GAAaR,EAAI,WAEnBA,EAAMA,EAAI,aACHA,IAAQ6B,EAAQ,QACzB,OAAIA,EAAQ,QACVX,GAAaW,EAAQ,OAAQ1K,CAAK,EAE7B2K,GAAO,UAAY,EAAI5K,EAAO,MACvC,CAEA,SAAS6K,GAAuB,CAC9B,IAAMC,EAAO,CAAC,EACd,QAASC,EAAUjC,EAAKiC,IAAY3F,GAAU2F,EAAUA,EAAQ,OAC1DA,EAAQ,OACVD,EAAK,QAAQC,EAAQ,KAAK,EAG9BD,EAAK,QAAQE,GAAQ5L,EAAQ,SAAS4L,CAAI,CAAC,CAC7C,CAGA,IAAIC,GAAY,CAAC,EAQjB,SAASC,GAAcC,EAAiBlL,EAAO,CAC7C,IAAMD,EAASC,GAASA,EAAM,CAAC,EAK/B,GAFA8I,GAAcoC,EAEVnL,GAAU,KACZ,OAAA4J,EAAc,EACP,EAOT,GAAIqB,GAAU,OAAS,SAAWhL,EAAM,OAAS,OAASgL,GAAU,QAAUhL,EAAM,OAASD,IAAW,GAAI,CAG1G,GADA+I,GAAcP,EAAgB,MAAMvI,EAAM,MAAOA,EAAM,MAAQ,CAAC,EAC5D,CAACqH,EAAW,CAEd,IAAM8D,EAAM,IAAI,MAAM,wBAAwB1D,CAAY,GAAG,EAC7D,MAAA0D,EAAI,aAAe1D,EACnB0D,EAAI,QAAUH,GAAU,KAClBG,CACR,CACA,MAAO,EACT,CAGA,GAFAH,GAAYhL,EAERA,EAAM,OAAS,QACjB,OAAOqK,GAAarK,CAAK,EACpB,GAAIA,EAAM,OAAS,WAAa,CAACkI,EAAgB,CAGtD,IAAMiD,EAAM,IAAI,MAAM,mBAAqBpL,EAAS,gBAAkB8I,EAAI,OAAS,aAAe,GAAG,EACrG,MAAAsC,EAAI,KAAOtC,EACLsC,CACR,SAAWnL,EAAM,OAAS,MAAO,CAC/B,IAAMoL,EAAYX,GAAWzK,CAAK,EAClC,GAAIoL,IAActE,GAChB,OAAOsE,CAEX,CAKA,GAAIpL,EAAM,OAAS,WAAaD,IAAW,GAEzC,MAAO,GAOT,GAAIsL,GAAa,KAAUA,GAAarL,EAAM,MAAQ,EAEpD,MADY,IAAI,MAAM,2DAA2D,EAYnF,OAAA8I,GAAc/I,EACPA,EAAO,MAChB,CAEA,IAAMoF,GAAW0C,EAAYJ,CAAY,EACzC,GAAI,CAACtC,GACH,MAAAhB,GAAMmD,EAAmB,QAAQ,KAAMG,CAAY,CAAC,EAC9C,IAAI,MAAM,sBAAwBA,EAAe,GAAG,EAG5D,IAAM6D,GAAKpG,GAAgBC,EAAQ,EAC/BxH,GAAS,GAETkL,EAAML,GAAgB8C,GAEpB7B,EAAgB,CAAC,EACjBtK,EAAU,IAAIZ,EAAQ,UAAUA,CAAO,EAC7CqM,EAAqB,EACrB,IAAI9B,EAAa,GACbO,EAAY,EACZ1D,GAAQ,EACR0F,GAAa,EACbjB,GAA2B,GAE/B,GAAI,CACF,GAAKjF,GAAS,aAyBZA,GAAS,aAAaoD,EAAiBpJ,CAAO,MAzBpB,CAG1B,IAFA0J,EAAI,QAAQ,YAAY,IAEf,CACPwC,KACIjB,GAGFA,GAA2B,GAE3BvB,EAAI,QAAQ,YAAY,EAE1BA,EAAI,QAAQ,UAAYlD,GAExB,IAAM3F,EAAQ6I,EAAI,QAAQ,KAAKN,CAAe,EAG9C,GAAI,CAACvI,EAAO,MAEZ,IAAMuL,EAAchD,EAAgB,UAAU5C,GAAO3F,EAAM,KAAK,EAC1DwL,EAAiBP,GAAcM,EAAavL,CAAK,EACvD2F,GAAQ3F,EAAM,MAAQwL,CACxB,CACAP,GAAc1C,EAAgB,UAAU5C,EAAK,CAAC,CAChD,CAIA,OAAAxG,EAAQ,SAAS,EACjBxB,GAASwB,EAAQ,OAAO,EAEjB,CACL,SAAUsI,EACV,MAAO9J,GACP,UAAA0L,EACA,QAAS,GACT,SAAUlK,EACV,KAAM0J,CACR,CACF,OAASsC,EAAK,CACZ,GAAIA,EAAI,SAAWA,EAAI,QAAQ,SAAS,SAAS,EAC/C,MAAO,CACL,SAAU1D,EACV,MAAOb,GAAO2B,CAAe,EAC7B,QAAS,GACT,UAAW,EACX,WAAY,CACV,QAAS4C,EAAI,QACb,MAAAxF,GACA,QAAS4C,EAAgB,MAAM5C,GAAQ,IAAKA,GAAQ,GAAG,EACvD,KAAMwF,EAAI,KACV,YAAaxN,EACf,EACA,SAAUwB,CACZ,EACK,GAAIkI,EACT,MAAO,CACL,SAAUI,EACV,MAAOb,GAAO2B,CAAe,EAC7B,QAAS,GACT,UAAW,EACX,YAAa4C,EACb,SAAUhM,EACV,KAAM0J,CACR,EAEA,MAAMsC,CAEV,CACF,CASA,SAASM,EAAwBtD,EAAM,CACrC,IAAMxK,EAAS,CACb,MAAOiJ,GAAOuB,CAAI,EAClB,QAAS,GACT,UAAW,EACX,KAAMZ,EACN,SAAU,IAAIhJ,EAAQ,UAAUA,CAAO,CACzC,EACA,OAAAZ,EAAO,SAAS,QAAQwK,CAAI,EACrBxK,CACT,CAgBA,SAAS+L,EAAcvB,EAAMuD,EAAgB,CAC3CA,EAAiBA,GAAkBnN,EAAQ,WAAa,OAAO,KAAK2I,CAAS,EAC7E,IAAMyE,EAAYF,EAAwBtD,CAAI,EAExCyD,EAAUF,EAAe,OAAO7D,CAAW,EAAE,OAAOgE,EAAa,EAAE,IAAI5O,GAC3EqL,EAAWrL,EAAMkL,EAAM,EAAK,CAC9B,EACAyD,EAAQ,QAAQD,CAAS,EAEzB,IAAMG,EAASF,EAAQ,KAAK,CAACG,EAAGC,KAAM,CAEpC,GAAID,EAAE,YAAcC,GAAE,UAAW,OAAOA,GAAE,UAAYD,EAAE,UAIxD,GAAIA,EAAE,UAAYC,GAAE,SAAU,CAC5B,GAAInE,EAAYkE,EAAE,QAAQ,EAAE,aAAeC,GAAE,SAC3C,MAAO,GACF,GAAInE,EAAYmE,GAAE,QAAQ,EAAE,aAAeD,EAAE,SAClD,MAAO,EAEX,CAMA,MAAO,EACT,CAAC,EAEK,CAACE,EAAMC,CAAU,EAAIJ,EAGrBnO,EAASsO,EACf,OAAAtO,EAAO,WAAauO,EAEbvO,CACT,CASA,SAASwO,EAAgBC,EAASC,EAAaC,EAAY,CACzD,IAAMnH,EAAYkH,GAAelF,EAAQkF,CAAW,GAAMC,EAE1DF,EAAQ,UAAU,IAAI,MAAM,EAC5BA,EAAQ,UAAU,IAAI,YAAYjH,CAAQ,EAAE,CAC9C,CAOA,SAASoH,EAAiBH,EAAS,CAEjC,IAAIrO,EAAO,KACLoH,EAAWuC,EAAc0E,CAAO,EAEtC,GAAI5E,EAAmBrC,CAAQ,EAAG,OAKlC,GAHAkD,GAAK,0BACH,CAAE,GAAI+D,EAAS,SAAAjH,CAAS,CAAC,EAEvBiH,EAAQ,QAAQ,YAAa,CAC/B,QAAQ,IAAI,yFAA0FA,CAAO,EAC7G,MACF,CAOA,GAAIA,EAAQ,SAAS,OAAS,IACvB7N,EAAQ,sBACX,QAAQ,KAAK,+FAA+F,EAC5G,QAAQ,KAAK,2DAA2D,EACxE,QAAQ,KAAK,kCAAkC,EAC/C,QAAQ,KAAK6N,CAAO,GAElB7N,EAAQ,oBAKV,MAJY,IAAIkI,GACd,mDACA2F,EAAQ,SACV,EAKJrO,EAAOqO,EACP,IAAM5N,EAAOT,EAAK,YACZJ,EAASwH,EAAW4C,EAAUvJ,EAAM,CAAE,SAAA2G,EAAU,eAAgB,EAAK,CAAC,EAAIuE,EAAclL,CAAI,EAElG4N,EAAQ,UAAYzO,EAAO,MAC3ByO,EAAQ,QAAQ,YAAc,MAC9BD,EAAgBC,EAASjH,EAAUxH,EAAO,QAAQ,EAClDyO,EAAQ,OAAS,CACf,SAAUzO,EAAO,SAEjB,GAAIA,EAAO,UACX,UAAWA,EAAO,SACpB,EACIA,EAAO,aACTyO,EAAQ,WAAa,CACnB,SAAUzO,EAAO,WAAW,SAC5B,UAAWA,EAAO,WAAW,SAC/B,GAGF0K,GAAK,yBAA0B,CAAE,GAAI+D,EAAS,OAAAzO,EAAQ,KAAAa,CAAK,CAAC,CAC9D,CAOA,SAASgO,EAAUC,EAAa,CAC9BlO,EAAUsI,GAAQtI,EAASkO,CAAW,CACxC,CAGA,IAAMC,EAAmB,IAAM,CAC7BC,EAAa,EACbrI,GAAW,SAAU,yDAAyD,CAChF,EAGA,SAASsI,GAAyB,CAChCD,EAAa,EACbrI,GAAW,SAAU,+DAA+D,CACtF,CAEA,IAAIuI,EAAiB,GAKrB,SAASF,GAAe,CAEtB,GAAI,SAAS,aAAe,UAAW,CACrCE,EAAiB,GACjB,MACF,CAEe,SAAS,iBAAiBtO,EAAQ,WAAW,EACrD,QAAQgO,CAAgB,CACjC,CAEA,SAASO,GAAO,CAEVD,GAAgBF,EAAa,CACnC,CAGI,OAAO,OAAW,KAAe,OAAO,kBAC1C,OAAO,iBAAiB,mBAAoBG,EAAM,EAAK,EASzD,SAASC,EAAiBtF,EAAcuF,EAAoB,CAC1D,IAAIC,EAAO,KACX,GAAI,CACFA,EAAOD,EAAmB/F,CAAI,CAChC,OAASiG,EAAS,CAGhB,GAFA/I,GAAM,wDAAwD,QAAQ,KAAMsD,CAAY,CAAC,EAEpFJ,EAAqClD,GAAM+I,CAAO,MAArC,OAAMA,EAKxBD,EAAO1F,CACT,CAEK0F,EAAK,OAAMA,EAAK,KAAOxF,GAC5BP,EAAUO,CAAY,EAAIwF,EAC1BA,EAAK,cAAgBD,EAAmB,KAAK,KAAM/F,CAAI,EAEnDgG,EAAK,SACPE,GAAgBF,EAAK,QAAS,CAAE,aAAAxF,CAAa,CAAC,CAElD,CAOA,SAAS2F,EAAmB3F,EAAc,CACxC,OAAOP,EAAUO,CAAY,EAC7B,QAAW4F,KAAS,OAAO,KAAKlG,CAAO,EACjCA,EAAQkG,CAAK,IAAM5F,GACrB,OAAON,EAAQkG,CAAK,CAG1B,CAKA,SAASC,IAAgB,CACvB,OAAO,OAAO,KAAKpG,CAAS,CAC9B,CAMA,SAASW,EAAY5K,EAAM,CACzB,OAAAA,GAAQA,GAAQ,IAAI,YAAY,EACzBiK,EAAUjK,CAAI,GAAKiK,EAAUC,EAAQlK,CAAI,CAAC,CACnD,CAOA,SAASkQ,GAAgBI,EAAW,CAAE,aAAA9F,CAAa,EAAG,CAChD,OAAO8F,GAAc,WACvBA,EAAY,CAACA,CAAS,GAExBA,EAAU,QAAQF,GAAS,CAAElG,EAAQkG,EAAM,YAAY,CAAC,EAAI5F,CAAc,CAAC,CAC7E,CAMA,SAASoE,GAAc5O,EAAM,CAC3B,IAAMgQ,EAAOpF,EAAY5K,CAAI,EAC7B,OAAOgQ,GAAQ,CAACA,EAAK,iBACvB,CAOA,SAASO,GAAiBC,EAAQ,CAE5BA,EAAO,uBAAuB,GAAK,CAACA,EAAO,yBAAyB,IACtEA,EAAO,yBAAyB,EAAKvE,GAAS,CAC5CuE,EAAO,uBAAuB,EAC5B,OAAO,OAAO,CAAE,MAAOvE,EAAK,EAAG,EAAGA,CAAI,CACxC,CACF,GAEEuE,EAAO,sBAAsB,GAAK,CAACA,EAAO,wBAAwB,IACpEA,EAAO,wBAAwB,EAAKvE,GAAS,CAC3CuE,EAAO,sBAAsB,EAC3B,OAAO,OAAO,CAAE,MAAOvE,EAAK,EAAG,EAAGA,CAAI,CACxC,CACF,EAEJ,CAKA,SAASwE,GAAUD,EAAQ,CACzBD,GAAiBC,CAAM,EACvBrG,EAAQ,KAAKqG,CAAM,CACrB,CAKA,SAASE,GAAaF,EAAQ,CAC5B,IAAM9H,EAAQyB,EAAQ,QAAQqG,CAAM,EAChC9H,IAAU,IACZyB,EAAQ,OAAOzB,EAAO,CAAC,CAE3B,CAOA,SAAS0C,GAAKuF,EAAOlO,EAAM,CACzB,IAAM8K,EAAKoD,EACXxG,EAAQ,QAAQ,SAASqG,EAAQ,CAC3BA,EAAOjD,CAAE,GACXiD,EAAOjD,CAAE,EAAE9K,CAAI,CAEnB,CAAC,CACH,CAMA,SAASmO,GAAwB5O,EAAI,CACnC,OAAAqF,GAAW,SAAU,kDAAkD,EACvEA,GAAW,SAAU,kCAAkC,EAEhDiI,EAAiBtN,CAAE,CAC5B,CAGA,OAAO,OAAOgI,EAAM,CAClB,UAAAc,EACA,cAAA2B,EACA,aAAAiD,EACA,iBAAAJ,EAEA,eAAgBsB,GAChB,UAAArB,EACA,iBAAAE,EACA,uBAAAE,EACA,iBAAAG,EACA,mBAAAK,EACA,cAAAE,GACA,YAAAzF,EACA,gBAAAsF,GACA,cAAAtB,GACA,QAAAhF,GACA,UAAA6G,GACA,aAAAC,EACF,CAAC,EAED1G,EAAK,UAAY,UAAW,CAAEI,EAAY,EAAO,EACjDJ,EAAK,SAAW,UAAW,CAAEI,EAAY,EAAM,EAC/CJ,EAAK,cAAgB1C,GAErB0C,EAAK,MAAQ,CACX,OAAQ1H,GACR,UAAWD,GACX,OAAQM,GACR,SAAUH,GACV,iBAAkBD,EACpB,EAEA,QAAW5B,KAAO4E,GAEZ,OAAOA,GAAM5E,CAAG,GAAM,UAExBb,GAAWyF,GAAM5E,CAAG,CAAC,EAKzB,cAAO,OAAOqJ,EAAMzE,EAAK,EAElByE,CACT,EAGMc,GAAYf,GAAK,CAAC,CAAC,EAIzBe,GAAU,YAAc,IAAMf,GAAK,CAAC,CAAC,EAErClK,GAAO,QAAUiL,GACjBA,GAAU,YAAcA,GACxBA,GAAU,QAAUA,KCpiFpB,IAAA+F,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAQbE,EAAcD,EAAM,OAAO,YAAaA,EAAM,SAAS,kBAAkB,EAAG,iBAAiB,EAC7FE,EAAe,mBACfC,EAAe,CACnB,UAAW,SACX,MAAO,kCACT,EACMC,EAAoB,CACxB,MAAO,KACP,SAAU,CACR,CACE,UAAW,UACX,MAAO,sBACP,QAAS,IACX,CACF,CACF,EACMC,EAAwBN,EAAK,QAAQK,EAAmB,CAC5D,MAAO,KACP,IAAK,IACP,CAAC,EACKE,EAAwBP,EAAK,QAAQA,EAAK,iBAAkB,CAAE,UAAW,QAAS,CAAC,EACnFQ,EAAyBR,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EACrFS,EAAgB,CACpB,eAAgB,GAChB,QAAS,IACT,UAAW,EACX,SAAU,CACR,CACE,UAAW,OACX,MAAON,EACP,UAAW,CACb,EACA,CACE,MAAO,OACP,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,WAAY,GACZ,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEC,CAAa,CAC3B,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,CAAa,CAC3B,EACA,CAAE,MAAO,cAAe,CAC1B,CACF,CACF,CACF,CACF,CACF,EACA,MAAO,CACL,KAAM,YACN,QAAS,CACP,OACA,QACA,MACA,OACA,MACA,MACA,MACA,QACA,MACA,KACF,EACA,iBAAkB,GAClB,aAAc,GACd,SAAU,CACR,CACE,UAAW,OACX,MAAO,UACP,IAAK,IACL,UAAW,GACX,SAAU,CACRC,EACAG,EACAD,EACAD,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,CACE,UAAW,OACX,MAAO,UACP,IAAK,IACL,SAAU,CACRD,EACAC,EACAE,EACAD,CACF,CACF,CACF,CACF,CACF,CACF,EACAP,EAAK,QACH,OACA,MACA,CAAE,UAAW,EAAG,CAClB,EACA,CACE,MAAO,cACP,IAAK,QACL,UAAW,EACb,EACAI,EAEA,CACE,UAAW,OACX,IAAK,MACL,SAAU,CACR,CACE,MAAO,SACP,UAAW,GACX,SAAU,CACRI,CACF,CACF,EACA,CACE,MAAO,mBACT,CACF,CAEF,EACA,CACE,UAAW,MAMX,MAAO,iBACP,IAAK,IACL,SAAU,CAAE,KAAM,OAAQ,EAC1B,SAAU,CAAEC,CAAc,EAC1B,OAAQ,CACN,IAAK,YACL,UAAW,GACX,YAAa,CACX,MACA,KACF,CACF,CACF,EACA,CACE,UAAW,MAEX,MAAO,kBACP,IAAK,IACL,SAAU,CAAE,KAAM,QAAS,EAC3B,SAAU,CAAEA,CAAc,EAC1B,OAAQ,CACN,IAAK,aACL,UAAW,GACX,YAAa,CACX,aACA,aACA,KACF,CACF,CACF,EAEA,CACE,UAAW,MACX,MAAO,SACT,EAEA,CACE,UAAW,MACX,MAAOR,EAAM,OACX,IACAA,EAAM,UAAUA,EAAM,OACpBC,EAIAD,EAAM,OAAO,MAAO,IAAK,IAAI,CAC/B,CAAC,CACH,EACA,IAAK,OACL,SAAU,CACR,CACE,UAAW,OACX,MAAOC,EACP,UAAW,EACX,OAAQO,CACV,CACF,CACF,EAEA,CACE,UAAW,MACX,MAAOR,EAAM,OACX,MACAA,EAAM,UAAUA,EAAM,OACpBC,EAAa,GACf,CAAC,CACH,EACA,SAAU,CACR,CACE,UAAW,OACX,MAAOA,EACP,UAAW,CACb,EACA,CACE,MAAO,IACP,UAAW,EACX,WAAY,EACd,CACF,CACF,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChPjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAM,CAAC,EACPC,EAAa,CACjB,MAAO,OACP,IAAK,KACL,SAAU,CACR,OACA,CACE,MAAO,KACP,SAAU,CAAED,CAAI,CAClB,CACF,CACF,EACA,OAAO,OAAOA,EAAK,CACjB,UAAW,WACX,SAAU,CACR,CAAE,MAAOD,EAAM,OAAO,qBAGpB,qBAAqB,CAAE,EACzBE,CACF,CACF,CAAC,EAED,IAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBL,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMM,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAV,EAAK,YACLE,CACF,CACF,EACMS,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBZ,EAAK,QAAQ,CACjC,OAAQ,IAAIW,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMc,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAZ,EAAK,QAAQ,EACba,EACAH,EACAV,EAAK,kBACLK,EACAW,EACAV,EACAC,EACAC,EACAC,EACAP,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCtYjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,IACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAGIE,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAsEhEc,EAAW,CACf,QArEiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EA6BE,KA3Bc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,WACA,aACA,aACA,aACA,cAEA,QACA,SAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMX,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOX,EACP,SAAUW,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQY,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRZ,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUO,EACV,UAAW,EACX,SAAU,CACR,OACAZ,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOX,EAAK,SAAW,KACvB,SAAUc,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCd,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcW,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAhB,GAAO,QAAUC,KC7TjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAEIE,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEc,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOhB,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMmB,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMY,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,GAAuB,CAC3B,UAAW,WACX,MAAO,IAAMhB,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOf,EACP,SAAUe,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRhB,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUW,EACV,UAAW,EACX,SAAU,CACR,OACAhB,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,EACAC,GACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAX,CACF,CACF,EACA,CACE,MAAOP,EAAK,SAAW,KACvB,SAAUkB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEApB,GAAO,QAAUC,KCvjBjB,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBV,EAAK,QAAQS,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUL,CACZ,EACMM,EAAcZ,EAAK,QAAQW,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBb,EAAK,iBACLY,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqCf,EAAK,QAAQc,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAY,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMgB,EAAS,CAAE,SAAU,CACzBF,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIiB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BV,CACF,CACF,EACMW,EAAgBlB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFmB,EAAgB,CAGpB,MAAO,IAAMnB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAgB,EACAR,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMkB,EAAgB,SAAWlB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLiB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUX,EACV,UAAW,EACX,SAAU,CACRU,EACAR,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAmB,CACF,CACF,CACF,CAEArB,GAAO,QAAUC,KC/YjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAUV,SAASC,GAAIN,EAAM,CACjB,IAAMO,EAAQP,EAAK,MACbQ,EAAQT,GAAMC,CAAI,EAClBS,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdb,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRQ,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAH,GAAO,QAAUQ,KCjuBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EA+BtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CApCG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAkBIX,EACAG,EACAI,EACAC,EAnBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAgBIT,EACAD,EACAK,EACAF,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KChPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EAIlB,IAAMC,EAAgB,QAEhBC,GAAiB,kCACjBC,EAAa,iDAEbC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUJ,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAAOC,EAAgB,IAAMC,GAAiB,IAAMC,EAAa,WACxE,OAAQ,CACN,IAAK,IACL,SAAUb,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOmB,EAAW,EAClB,OAAOX,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOA,EAAK,YAAc,MAC1B,UAAW,CACb,EACAA,EAAK,aACP,CACF,EACA,CAAE,MAAO,IACT,EA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AAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAoE3FE,EAAW,CACf,QApEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,SACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KChSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAIG,EACEC,EAAaX,EAAM,MAAM,UAAUQ,CAAe,EAIxD,GAAKE,EAAIC,EAAW,MAAM,OAAO,EAAI,CACnCJ,EAAS,YAAY,EACrB,MACF,CAKA,IAAKG,EAAIC,EAAW,MAAM,gBAAgB,IACpCD,EAAE,QAAU,EAAG,CACjBH,EAAS,YAAY,EAErB,MACF,CAEJ,CACF,EACMK,EAAa,CACjB,SAAUxB,GACV,QAASC,GACT,QAASC,GACT,SAAUK,GACV,oBAAqBD,EACvB,EAGMmB,EAAgB,kBAChBC,EAAO,OAAOD,CAAa,IAG3BE,EAAiB,sCACjBC,EAAS,CACb,UAAW,SACX,SAAU,CAER,CAAE,MAAO,QAAQD,CAAc,MAAMD,CAAI,YAAYA,CAAI,eAC1CD,CAAa,MAAO,EACnC,CAAE,MAAO,OAAOE,CAAc,SAASD,CAAI,eAAeA,CAAI,MAAO,EAGrE,CAAE,MAAO,4BAA6B,EAGtC,CAAE,MAAO,0CAA2C,EACpD,CAAE,MAAO,8BAA+B,EACxC,CAAE,MAAO,8BAA+B,EAIxC,CAAE,MAAO,iBAAkB,CAC7B,EACA,UAAW,CACb,EAEMG,EAAQ,CACZ,UAAW,QACX,MAAO,SACP,IAAK,MACL,SAAUL,EACV,SAAU,CAAC,CACb,EACMM,EAAgB,CACpB,MAAO,QACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRrB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACME,EAAe,CACnB,MAAO,OACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRtB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACMG,EAAmB,CACvB,MAAO,OACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRvB,EAAK,iBACLoB,CACF,EACA,YAAa,SACf,CACF,EACMI,EAAkB,CACtB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRxB,EAAK,iBACLoB,CACF,CACF,EAwCMK,EAAU,CACd,UAAW,UACX,SAAU,CAzCUzB,EAAK,QACzB,eACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,iBACP,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,EACA,CACE,UAAW,OACX,MAAO,MACP,IAAK,MACL,WAAY,GACZ,aAAc,GACd,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAOM,EAAa,gBACpB,WAAY,GACZ,UAAW,CACb,EAGA,CACE,MAAO,cACP,UAAW,CACb,CACF,CACF,CACF,CACF,CACF,EAKIN,EAAK,qBACLA,EAAK,mBACP,CACF,EACM0B,EAAkB,CACtB1B,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBL,CAIF,EACAC,EAAM,SAAWM,EACd,OAAO,CAGN,MAAO,KACP,IAAK,KACL,SAAUX,EACV,SAAU,CACR,MACF,EAAE,OAAOW,CAAe,CAC1B,CAAC,EACH,IAAMC,EAAqB,CAAC,EAAE,OAAOF,EAASL,EAAM,QAAQ,EACtDQ,EAAkBD,EAAmB,OAAO,CAEhD,CACE,MAAO,KACP,IAAK,KACL,SAAUZ,EACV,SAAU,CAAC,MAAM,EAAE,OAAOY,CAAkB,CAC9C,CACF,CAAC,EACKE,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUd,EACV,SAAUa,CACZ,EAGME,EAAmB,CACvB,SAAU,CAER,CACE,MAAO,CACL,QACA,MACAxB,EACA,MACA,UACA,MACAL,EAAM,OAAOK,EAAY,IAAKL,EAAM,OAAO,KAAMK,CAAU,EAAG,IAAI,CACpE,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,UACH,EAAG,uBACL,CACF,EAEA,CACE,MAAO,CACL,QACA,MACAA,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CAEF,CACF,EAEMyB,GAAkB,CACtB,UAAW,EACX,MACA9B,EAAM,OAEJ,SAEA,iCAEA,6CAEA,kDAKF,EACA,UAAW,cACX,SAAU,CACR,EAAG,CAED,GAAGP,GACH,GAAGC,EACL,CACF,CACF,EAEMqC,EAAa,CACjB,MAAO,aACP,UAAW,OACX,UAAW,GACX,MAAO,8BACT,EAEMC,GAAsB,CAC1B,SAAU,CACR,CACE,MAAO,CACL,WACA,MACA3B,EACA,WACF,CACF,EAEA,CACE,MAAO,CACL,WACA,WACF,CACF,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,MAAO,WACP,SAAU,CAAEuB,CAAO,EACnB,QAAS,GACX,EAEMK,GAAsB,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EAEA,SAASC,GAAOC,EAAM,CACpB,OAAOnC,EAAM,OAAO,MAAOmC,EAAK,KAAK,GAAG,EAAG,GAAG,CAChD,CAEA,IAAMC,GAAgB,CACpB,MAAOpC,EAAM,OACX,KACAkC,GAAO,CACL,GAAGvC,GACH,QACA,QACF,CAAC,EACDU,EAAYL,EAAM,UAAU,IAAI,CAAC,EACnC,UAAW,iBACX,UAAW,CACb,EAEMqC,GAAkB,CACtB,MAAOrC,EAAM,OAAO,KAAMA,EAAM,UAC9BA,EAAM,OAAOK,EAAY,oBAAoB,CAC/C,CAAC,EACD,IAAKA,EACL,aAAc,GACd,SAAU,YACV,UAAW,WACX,UAAW,CACb,EAEMiC,GAAmB,CACvB,MAAO,CACL,UACA,MACAjC,EACA,QACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACR,CACE,MAAO,MACT,EACAuB,CACF,CACF,EAEMW,GAAkB,2DAMbxC,EAAK,oBAAsB,UAEhCyC,EAAoB,CACxB,MAAO,CACL,gBAAiB,MACjBnC,EAAY,MACZ,OACA,cACAL,EAAM,UAAUuC,EAAe,CACjC,EACA,SAAU,QACV,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRX,CACF,CACF,EAEA,MAAO,CACL,KAAM,aACN,QAAS,CAAC,KAAM,MAAO,MAAO,KAAK,EACnC,SAAUd,EAEV,QAAS,CAAE,gBAAAa,EAAiB,gBAAAG,EAAgB,EAC5C,QAAS,eACT,SAAU,CACR/B,EAAK,QAAQ,CACX,MAAO,UACP,OAAQ,OACR,UAAW,CACb,CAAC,EACDgC,EACAhC,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBN,EACAY,GACA,CACE,UAAW,OACX,MAAOzB,EAAaL,EAAM,UAAU,GAAG,EACvC,UAAW,CACb,EACAwC,EACA,CACE,MAAO,IAAMzC,EAAK,eAAiB,kCACnC,SAAU,oBACV,UAAW,EACX,SAAU,CACRyB,EACAzB,EAAK,YACL,CACE,UAAW,WAIX,MAAOwC,GACP,YAAa,GACb,IAAK,SACL,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOxC,EAAK,oBACZ,UAAW,CACb,EACA,CACE,UAAW,KACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUe,EACV,SAAUa,CACZ,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,IACP,UAAW,CACb,EACA,CACE,MAAO,MACP,UAAW,CACb,EACA,CACE,SAAU,CACR,CAAE,MAAOrB,EAAS,MAAO,IAAKA,EAAS,GAAI,EAC3C,CAAE,MAAOC,CAAiB,EAC1B,CACE,MAAOC,EAAQ,MAGf,WAAYA,EAAQ,kBACpB,IAAKA,EAAQ,GACf,CACF,EACA,YAAa,MACb,SAAU,CACR,CACE,MAAOA,EAAQ,MACf,IAAKA,EAAQ,IACb,KAAM,GACN,SAAU,CAAC,MAAM,CACnB,CACF,CACF,CACF,CACF,EACAwB,GACA,CAGE,cAAe,2BACjB,EACA,CAIE,MAAO,kBAAoBjC,EAAK,oBAC9B,gEAOF,YAAY,GACZ,MAAO,WACP,SAAU,CACR6B,EACA7B,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAOM,EAAY,UAAW,gBAAiB,CAAC,CAClF,CACF,EAEA,CACE,MAAO,SACP,UAAW,CACb,EACAgC,GAIA,CACE,MAAO,MAAQhC,EACf,UAAW,CACb,EACA,CACE,MAAO,CAAE,wBAAyB,EAClC,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAU,CAAEuB,CAAO,CACrB,EACAQ,GACAH,GACAJ,EACAS,GACA,CACE,MAAO,QACT,CACF,CACF,CACF,CAEAjD,GAAO,QAAUS,KC7vBjB,IAAA2C,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAY,CAChB,UAAW,OACX,MAAO,8BACP,UAAW,IACb,EACMC,EAAc,CAClB,MAAO,YACP,UAAW,cACX,UAAW,CACb,EACMC,EAAW,CACf,OACA,QACA,MACF,EAMMC,EAAgB,CACpB,MAAO,UACP,cAAeD,EAAS,KAAK,GAAG,CAClC,EAEA,MAAO,CACL,KAAM,OACN,SAAS,CACP,QAASA,CACX,EACA,SAAU,CACRF,EACAC,EACAF,EAAK,kBACLI,EACAJ,EAAK,cACLA,EAAK,oBACLA,EAAK,oBACP,EACA,QAAS,KACX,CACF,CAEAF,GAAO,QAAUC,KCpDjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAgB,kBAChBC,GAAO,OAAOD,EAAa,IAC3BE,GAAY,8BACZC,GAAU,CACZ,UAAW,SACX,SAAU,CAGR,CAAE,MAAO,QAAQH,EAAa,MAAMC,EAAI,YAAYA,EAAI,eACzCD,EAAa,aAAc,EAE1C,CAAE,MAAO,OAAOA,EAAa,MAAMC,EAAI,8BAA+B,EACtE,CAAE,MAAO,IAAIA,EAAI,aAAc,EAC/B,CAAE,MAAO,OAAOD,EAAa,YAAa,EAG1C,CAAE,MAAO,aAAaE,EAAS,UAAUA,EAAS,SAASA,EAAS,eACrDF,EAAa,aAAc,EAG1C,CAAE,MAAO,gCAAiC,EAG1C,CAAE,MAAO,YAAYE,EAAS,WAAY,EAG1C,CAAE,MAAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAWA,SAASE,GAAOC,EAAM,CACpB,IAAMC,EAAW,CACf,QACE,wYAKF,SACE,kEACF,QACE,iBACJ,EACMC,EAAsB,CAC1B,UAAW,UACX,MAAO,mCACP,OAAQ,CAAE,SAAU,CAClB,CACE,UAAW,SACX,MAAO,MACT,CACF,CAAE,CACJ,EACMC,EAAQ,CACZ,UAAW,SACX,MAAOH,EAAK,oBAAsB,GACpC,EAGMI,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,aAAc,CACjC,EACMK,EAAW,CACf,UAAW,WACX,MAAO,MAAQL,EAAK,mBACtB,EACMM,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,IAAK,cACL,SAAU,CACRD,EACAD,CACF,CACF,EAIA,CACE,MAAO,IACP,IAAK,IACL,QAAS,KACT,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,IACL,QAAS,KACT,SAAU,CACRA,EAAK,iBACLK,EACAD,CACF,CACF,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAM,EAE1B,IAAMC,EAAsB,CAC1B,UAAW,OACX,MAAO,gFAAkFP,EAAK,oBAAsB,IACtH,EACMQ,EAAa,CACjB,UAAW,OACX,MAAO,IAAMR,EAAK,oBAClB,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,QAAQM,EAAQ,CAAE,UAAW,QAAS,CAAC,EAC5C,MACF,CACF,CACF,CACF,EAKMG,EAAqBX,GACrBY,EAAwBV,EAAK,QACjC,OAAQ,OACR,CAAE,SAAU,CAAEA,EAAK,oBAAqB,CAAE,CAC5C,EACMW,EAAoB,CAAE,SAAU,CACpC,CACE,UAAW,OACX,MAAOX,EAAK,mBACd,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAC,CACb,CACF,CAAE,EACIY,EAAqBD,EAC3B,OAAAC,EAAmB,SAAS,CAAC,EAAE,SAAW,CAAED,CAAkB,EAC9DA,EAAkB,SAAS,CAAC,EAAE,SAAW,CAAEC,CAAmB,EAEvD,CACL,KAAM,SACN,QAAS,CACP,KACA,KACF,EACA,SAAUX,EACV,SAAU,CACRD,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EACAA,EAAK,oBACLU,EACAR,EACAC,EACAI,EACAC,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,QACL,YAAa,GACb,WAAY,GACZ,SAAUP,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAOD,EAAK,oBAAsB,UAClC,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBAC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L,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CAAEF,CAAS,CACvB,EAEMG,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCrFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAM,CAAE,SAAU,CACtB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAON,EAAM,OACb,iDAGA,uBACF,CAAE,EACF,CACE,MAAO,gBACP,UAAW,CACb,CACF,CAAE,EACIO,EAAkB,CACtBR,EAAK,iBACLK,EACAE,CACF,EACME,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,GACF,EAMMC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,QAAU,CACxD,IAAMC,EAAUD,IAAU,MACtBA,EACAZ,EAAM,OAAOY,EAAOD,CAAI,EAC5B,OAAOX,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAE,EACA,oBACAD,EACAV,CACF,CACF,EAMMY,EAAY,CAACJ,EAAQC,EAAMC,IACxBZ,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAC,EACAV,CACF,EAEIa,EAAwB,CAC5BT,EACAP,EAAK,kBACLA,EAAK,QACH,OACA,OACA,CAAE,eAAgB,EAAK,CACzB,EACAM,EACA,CACE,UAAW,SACX,SAAUE,EACV,SAAU,CACR,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,gBACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,UACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAER,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,eACP,UAAW,CACb,CACF,CACF,EACA,CACE,UAAW,SACX,MAAO,4EACP,UAAW,CACb,EACA,CACE,MAAO,WAAaA,EAAK,eAAiB,gDAC1C,SAAU,kCACV,UAAW,EACX,SAAU,CACRA,EAAK,kBACL,CACE,UAAW,SACX,SAAU,CAER,CAAE,MAAOU,EAAiB,SAAUT,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,CAAC,CAAE,EAEtF,CAAE,MAAOC,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,CACpD,EACA,UAAW,CACb,EACA,CACE,UAAW,SACX,SAAU,CACR,CAGE,MAAO,aACP,UAAW,CACb,EAEA,CAAE,MAAOK,EAAU,YAAa,KAAM,IAAI,CAAE,EAE5C,CAAE,MAAOA,EAAU,OAAQd,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,EAAG,IAAI,CAAE,EAEnF,CAAE,MAAOM,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,CACzC,CACF,CACF,CACF,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,uBACL,WAAY,GACZ,UAAW,EACX,SAAU,CAAEf,EAAK,UAAW,CAC9B,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,aACP,IAAK,YACL,YAAa,cACb,SAAU,CACR,CACE,MAAO,QACP,IAAK,IACL,UAAW,SACb,CACF,CACF,CACF,EACA,OAAAK,EAAM,SAAWW,EACjBV,EAAO,SAAWU,EAEX,CACL,KAAM,OACN,QAAS,CACP,KACA,IACF,EACA,SAAUZ,EACV,SAAUY,CACZ,CACF,CAEAlB,GAAO,QAAUC,KCtdjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAW,CACf,MAAO,WACP,MAAO,OAASF,CAClB,EACMG,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBR,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtES,EAAgBT,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOO,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUV,EAAK,kBAAkB,SAAS,OAAOO,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASb,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKc,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,UACF,EAsBMC,EAAW,CACf,QAASF,EACT,SAhBgBG,IAAU,CAE1B,IAAMC,GAAS,CAAC,EAChB,OAAAD,GAAM,QAAQE,IAAQ,CACpBD,GAAO,KAAKC,EAAI,EACZA,GAAK,YAAY,IAAMA,GACzBD,GAAO,KAAKC,GAAK,YAAY,CAAC,EAE9BD,GAAO,KAAKC,GAAK,YAAY,CAAC,CAElC,CAAC,EACMD,EACT,GAIoBL,CAAQ,EAC1B,SAAUE,CACZ,EAIMK,EAAqBH,IAClBA,GAAM,IAAIE,IACRA,GAAK,QAAQ,SAAU,EAAE,CACjC,EAGGE,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACAxB,EAAM,OAAOa,EAAY,GAAG,EAE5Bb,EAAM,OAAO,MAAOuB,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrEf,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAE,EAEIsB,EAAqBzB,EAAM,OAAOE,EAAU,YAAY,EAExDwB,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL1B,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACL,KACA,OACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,CACF,EACA,MAAO,CAAE,EAAG,aAAe,CAC7B,EACA,CACE,MAAO,CACLG,EACA,KACA,OACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,CACF,CAAE,EAEIwB,GAAiB,CACrB,MAAO,OACP,MAAO3B,EAAM,OAAOE,EAAUF,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CAC/E,EACM4B,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAUT,EACV,SAAU,CACRQ,GACAvB,EACAsB,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,CACF,EACMK,GAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA7B,EAAM,OAAO,wBAAyBuB,EAAkBN,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKM,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhB,EACAF,EAAM,OAAOa,EAAY,GAAG,EAC5Bb,EAAM,UAAU,QAAQ,CAC1B,EACA,MAAO,CAAE,EAAG,uBAAyB,EACrC,SAAU,CAAE4B,CAAY,CAC1B,EACAA,EAAY,SAAS,KAAKC,EAAe,EAEzC,IAAMC,GAAqB,CACzBH,GACAD,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,EAEMO,GAAa,CACjB,MAAO/B,EAAM,OAAO,SAAUG,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAASa,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,OACA,GAAGc,EACL,CACF,EACA,GAAGA,GACH,CACE,MAAO,OACP,MAAO3B,CACT,CACF,CACF,EAEA,MAAO,CACL,iBAAkB,GAClB,SAAUgB,EACV,SAAU,CACRY,GACAhC,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAM,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,GACAH,EACA,CACE,MAAO,CACL,QACA,KACAxB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAsB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxBzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUoB,EACV,SAAU,CACR,OACAf,EACAsB,EACA3B,EAAK,qBACLe,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtChB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAe,EACAC,CACF,CACF,CACF,CAEAlB,GAAO,QAAUC,KCpmBjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAA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AO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOD,EAAM,OACX,KACA,oCACAD,EAAK,SACLC,EAAM,UAAU,OAAO,CAAC,CAC5B,EACME,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUP,EAAK,SAAW,KAC1B,KAAMO,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRN,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CAAE,MAAO,iCAAkC,CAC7C,CACF,EACA,CACE,UAAW,SACX,MAAO,yBACT,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBG,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EAAK,oBACL,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOA,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUM,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChTjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAYV,SAASC,GAAKN,EAAM,CAClB,IAAMO,EAAQR,GAAMC,CAAI,EAClBQ,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBAGLO,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNP,EAAK,kBACLA,EAAK,iBACLO,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAZ,EAAK,kBACLA,EAAK,iBACLO,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAT,GAAO,QAAUQ,KCvtBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MAC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A,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cACA,kCACA,UACA,8BACA,OACA,2BACA,OACF,EAaA,SAASC,GAAMC,EAAM,CACnB,IAAMC,EAAa,CACjB,MAAO,MACP,UAAW,CACb,EAEMC,EAAgBF,EAAK,QACzB,OACA,OACA,CAAE,SAAU,CAAE,MAAO,CAAE,CACzB,EACMG,EAAW,CACfH,EAAK,oBACLE,CACF,EAIME,EAAc,CAClB,MAAO,CACL,KACAzB,GAAO,GAAGG,GAAa,GAAGC,EAAmB,CAC/C,EACA,UAAW,CAAE,EAAG,SAAU,CAC5B,EACMsB,EAAgB,CAEpB,MAAO/B,EAAO,KAAMK,GAAO,GAAGM,EAAQ,CAAC,EACvC,UAAW,CACb,EACMqB,EAAiBrB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAO,CAAE,KAAM,CAAC,EACbC,EAAiBvB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAOvB,EAAY,EACnB,IAAIJ,EAAc,EACf6B,EAAU,CAAE,SAAU,CAC1B,CACE,UAAW,UACX,MAAO9B,GAAO,GAAG6B,EAAgB,GAAGzB,EAAmB,CACzD,CACF,CAAE,EAEI2B,EAAW,CACf,SAAU/B,GACR,QACA,MACF,EACA,QAAS2B,EACN,OAAOlB,EAAkB,EAC5B,QAASF,EACX,EACMyB,EAAgB,CACpBP,EACAC,EACAI,CACF,EAGMG,EAAiB,CAErB,MAAOtC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,CAAC,EACvC,UAAW,CACb,EACMwB,EAAW,CACf,UAAW,WACX,MAAOvC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,EAAG,QAAQ,CACnD,EACMyB,EAAY,CAChBF,EACAC,CACF,EAGME,EAAiB,CAErB,MAAO,KACP,UAAW,CACb,EACMC,EAAW,CACf,UAAW,WACX,UAAW,EACX,SAAU,CACR,CAAE,MAAOxB,EAAS,EAClB,CAIE,MAAO,WAAWD,EAAiB,IAAK,CAC5C,CACF,EACM0B,EAAY,CAChBF,EACAC,CACF,EAIME,EAAgB,aAChBC,EAAY,mBACZC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAa,SAASA,CAAa,iBAAsBA,CAAa,QAAS,EAE/F,CAAE,MAAO,SAASC,CAAS,SAASA,CAAS,iBAAsBD,CAAa,QAAS,EAEzF,CAAE,MAAO,kBAAmB,EAE5B,CAAE,MAAO,iBAAkB,CAC7B,CACF,EAGMG,EAAoB,CAACC,EAAe,MAAQ,CAChD,UAAW,QACX,SAAU,CACR,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,YAAY,CAAE,EAClD,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAAE,CAC/D,CACF,GACMC,EAAkB,CAACD,EAAe,MAAQ,CAC9C,UAAW,QACX,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAC3D,GACME,EAAgB,CAACF,EAAe,MAAQ,CAC5C,UAAW,QACX,MAAO,WACP,MAAOhD,EAAO,KAAMgD,EAAc,IAAI,EACtC,IAAK,IACP,GACMG,EAAmB,CAACH,EAAe,MAAQ,CAC/C,MAAOhD,EAAOgD,EAAc,KAAK,EACjC,IAAKhD,EAAO,MAAOgD,CAAY,EAC/B,SAAU,CACRD,EAAkBC,CAAY,EAC9BC,EAAgBD,CAAY,EAC5BE,EAAcF,CAAY,CAC5B,CACF,GACMI,GAAqB,CAACJ,EAAe,MAAQ,CACjD,MAAOhD,EAAOgD,EAAc,GAAG,EAC/B,IAAKhD,EAAO,IAAKgD,CAAY,EAC7B,SAAU,CACRD,EAAkBC,CAAY,EAC9BE,EAAcF,CAAY,CAC5B,CACF,GACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRF,EAAiB,EACjBA,EAAiB,GAAG,EACpBA,EAAiB,IAAI,EACrBA,EAAiB,KAAK,EACtBC,GAAmB,EACnBA,GAAmB,GAAG,EACtBA,GAAmB,IAAI,EACvBA,GAAmB,KAAK,CAC1B,CACF,EAEME,GAAkB,CACtB5B,EAAK,iBACL,CACE,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,EAEM6B,GAAsB,CAC1B,MAAO,uBACP,IAAK,KACL,SAAUD,EACZ,EAEME,GAA2BR,GAAiB,CAChD,IAAMS,GAAQzD,EAAOgD,EAAc,IAAI,EACjCU,GAAM1D,EAAO,KAAMgD,CAAY,EACrC,MAAO,CACL,MAAAS,GACA,IAAAC,GACA,SAAU,CACR,GAAGJ,GACH,CACE,MAAO,UACP,MAAO,SAASI,EAAG,IACnB,IAAK,GACP,CACF,CACF,CACF,EAGMC,GAAS,CACb,MAAO,SACP,SAAU,CACRH,GAAwB,KAAK,EAC7BA,GAAwB,IAAI,EAC5BA,GAAwB,GAAG,EAC3BD,EACF,CACF,EAGMK,GAAoB,CAAE,MAAO5D,EAAO,IAAKqB,GAAY,GAAG,CAAE,EAC1DwC,GAAqB,CACzB,UAAW,WACX,MAAO,OACT,EACMC,GAA8B,CAClC,UAAW,WACX,MAAO,MAAM1C,EAAmB,GAClC,EACM2C,EAAc,CAClBH,GACAC,GACAC,EACF,EAGME,EAAsB,CAC1B,MAAO,sBACP,MAAO,UACP,OAAQ,CAAE,SAAU,CAClB,CACE,MAAO,KACP,IAAK,KACL,SAAUxC,GACV,SAAU,CACR,GAAGmB,EACHG,EACAO,CACF,CACF,CACF,CAAE,CACJ,EACMY,EAAoB,CACxB,MAAO,UACP,MAAOjE,EAAO,IAAKK,GAAO,GAAGkB,EAAiB,CAAC,CACjD,EACM2C,EAAyB,CAC7B,MAAO,OACP,MAAOlE,EAAO,IAAKqB,EAAU,CAC/B,EACM8C,EAAa,CACjBH,EACAC,EACAC,CACF,EAGME,EAAO,CACX,MAAOrE,GAAU,SAAS,EAC1B,UAAW,EACX,SAAU,CACR,CACE,UAAW,OACX,MAAOC,EAAO,gEAAiEoB,GAAqB,GAAG,CACzG,EACA,CACE,UAAW,OACX,MAAOE,GACP,UAAW,CACb,EACA,CACE,MAAO,QACP,UAAW,CACb,EACA,CACE,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAOtB,EAAO,UAAWD,GAAUuB,EAAc,CAAC,EAClD,UAAW,CACb,CACF,CACF,EACM+C,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAUjC,EACV,SAAU,CACR,GAAGP,EACH,GAAGQ,EACH,GAAG8B,EACH1B,EACA2B,CACF,CACF,EACAA,EAAK,SAAS,KAAKC,CAAiB,EAIpC,IAAMC,EAAqB,CACzB,MAAOtE,EAAOqB,GAAY,MAAM,EAChC,SAAU,MACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,GAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAGA,QAAWmE,K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AUC,KCjMjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,G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QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAA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,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,EAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,EAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,EAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,EAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,EAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,EAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,EAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,EAAgBhF,EAAK,2BAA2B,EAChDiF,EAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5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", + "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "SIMPLE_PROMPT", "DEFAULT_PROMPT", "RVM_PROMPT", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "VAR", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "reduceRelevancy", "list", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "STRING", "CONTAINER_STRING", "DATE_RE", "TIME_RE", "FRACTION_RE", "ZONE_RE", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayPop", "pop", "arrayPush", "push", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "numberIsNaN", "isNaN", "func", "thisArg", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "undefined", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "createDOMPurify", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "Element", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "MAX_NESTING_DEPTH", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "parentNode", "removeChild", "remove", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "elm", "__depth", "__removalCount", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHook", "entryPoint", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "attr", "forceKeepAttr", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "import_dompurify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "DOMPurify", "node", "data", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "entries", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] } From 21c3bb33c82c0cb9bcdd6e4001633c3d662e0866 Mon Sep 17 00:00:00 2001 From: Carson Date: Mon, 12 May 2025 17:24:17 -0500 Subject: [PATCH 2/5] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2f9a046a..30f93aad9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Fix missing session when trying to display an error duing bookmarking. (#1984) +* Fixed an issue with `ui.Chat()` sometimes wanting to scroll a parent element. (#1996) + ## [1.4.0] - 2025-04-08 From baeb209247e809f68795d2e3f451811beacbfab4 Mon Sep 17 00:00:00 2001 From: Carson Date: Mon, 12 May 2025 17:27:01 -0500 Subject: [PATCH 3/5] Better comment --- js/markdown-stream/markdown-stream.ts | 5 +++-- shiny/www/py-shiny/markdown-stream/markdown-stream.js.map | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/js/markdown-stream/markdown-stream.ts b/js/markdown-stream/markdown-stream.ts index fb03d26be..85a6d46ee 100644 --- a/js/markdown-stream/markdown-stream.ts +++ b/js/markdown-stream/markdown-stream.ts @@ -285,8 +285,9 @@ class MarkdownElement extends LightElement { if (el.scrollHeight > el.clientHeight) return el; el = el.parentElement; if (el?.tagName === CHAT_CONTAINER_TAG) { - // Stop searching for scrollable parents if we reach . - // If the chat is scrollable, a scrollable element would've been found already. + // This ensures that we do not accidentally scroll a parent element of the chat + // container. If the chat container itself is scrollable, a scrollable element + // would already have been identified. break; } } diff --git a/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map b/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map index 987c9eb83..4e437080a 100644 --- a/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map +++ b/shiny/www/py-shiny/markdown-stream/markdown-stream.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../../../js/node_modules/clipboard/dist/clipboard.js", "../../../../js/node_modules/highlight.js/lib/core.js", "../../../../js/node_modules/highlight.js/lib/languages/xml.js", "../../../../js/node_modules/highlight.js/lib/languages/bash.js", "../../../../js/node_modules/highlight.js/lib/languages/c.js", "../../../../js/node_modules/highlight.js/lib/languages/cpp.js", "../../../../js/node_modules/highlight.js/lib/languages/csharp.js", "../../../../js/node_modules/highlight.js/lib/languages/css.js", "../../../../js/node_modules/highlight.js/lib/languages/markdown.js", "../../../../js/node_modules/highlight.js/lib/languages/diff.js", "../../../../js/node_modules/highlight.js/lib/languages/ruby.js", "../../../../js/node_modules/highlight.js/lib/languages/go.js", "../../../../js/node_modules/highlight.js/lib/languages/graphql.js", "../../../../js/node_modules/highlight.js/lib/languages/ini.js", "../../../../js/node_modules/highlight.js/lib/languages/java.js", "../../../../js/node_modules/highlight.js/lib/languages/javascript.js", "../../../../js/node_modules/highlight.js/lib/languages/json.js", "../../../../js/node_modules/highlight.js/lib/languages/kotlin.js", "../../../../js/node_modules/highlight.js/lib/languages/less.js", "../../../../js/node_modules/highlight.js/lib/languages/lua.js", "../../../../js/node_modules/highlight.js/lib/languages/makefile.js", "../../../../js/node_modules/highlight.js/lib/languages/perl.js", "../../../../js/node_modules/highlight.js/lib/languages/objectivec.js", "../../../../js/node_modules/highlight.js/lib/languages/php.js", "../../../../js/node_modules/highlight.js/lib/languages/php-template.js", "../../../../js/node_modules/highlight.js/lib/languages/plaintext.js", "../../../../js/node_modules/highlight.js/lib/languages/python.js", "../../../../js/node_modules/highlight.js/lib/languages/python-repl.js", "../../../../js/node_modules/highlight.js/lib/languages/r.js", "../../../../js/node_modules/highlight.js/lib/languages/rust.js", "../../../../js/node_modules/highlight.js/lib/languages/scss.js", "../../../../js/node_modules/highlight.js/lib/languages/shell.js", "../../../../js/node_modules/highlight.js/lib/languages/sql.js", "../../../../js/node_modules/highlight.js/lib/languages/swift.js", "../../../../js/node_modules/highlight.js/lib/languages/yaml.js", "../../../../js/node_modules/highlight.js/lib/languages/typescript.js", "../../../../js/node_modules/highlight.js/lib/languages/vbnet.js", "../../../../js/node_modules/highlight.js/lib/languages/wasm.js", "../../../../js/node_modules/highlight.js/lib/common.js", "../../../../js/node_modules/dompurify/src/utils.js", "../../../../js/node_modules/dompurify/src/tags.js", "../../../../js/node_modules/dompurify/src/attrs.js", "../../../../js/node_modules/dompurify/src/regexp.js", "../../../../js/node_modules/dompurify/src/purify.js", "../../../../js/node_modules/@lit/reactive-element/src/css-tag.ts", "../../../../js/node_modules/@lit/reactive-element/src/reactive-element.ts", "../../../../js/node_modules/lit-html/src/lit-html.ts", "../../../../js/node_modules/lit-element/src/lit-element.ts", "../../../../js/node_modules/lit-html/src/directive.ts", "../../../../js/node_modules/lit-html/src/directives/unsafe-html.ts", "../../../../js/node_modules/@lit/reactive-element/src/decorators/property.ts", "../../../../js/markdown-stream/markdown-stream.ts", "../../../../js/node_modules/highlight.js/es/common.js", "../../../../js/node_modules/marked/src/defaults.ts", "../../../../js/node_modules/marked/src/helpers.ts", "../../../../js/node_modules/marked/src/Tokenizer.ts", "../../../../js/node_modules/marked/src/rules.ts", "../../../../js/node_modules/marked/src/Lexer.ts", "../../../../js/node_modules/marked/src/Renderer.ts", "../../../../js/node_modules/marked/src/TextRenderer.ts", "../../../../js/node_modules/marked/src/Parser.ts", "../../../../js/node_modules/marked/src/Hooks.ts", "../../../../js/node_modules/marked/src/Instance.ts", "../../../../js/node_modules/marked/src/marked.ts", "../../../../js/utils/_utils.ts", "../../../../js/chat/chat.ts"], - "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
    ';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.9.0\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n
    ${unsafeHTML(icon)}
    \n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], - "mappings": "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,EAED,IAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBL,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMM,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAV,EAAK,YACLE,CACF,CACF,EACMS,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBZ,EAAK,QAAQ,CACjC,OAAQ,IAAIW,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMc,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAZ,EAAK,QAAQ,EACba,EACAH,EACAV,EAAK,kBACLK,EACAW,EACAV,EACAC,EACAC,EACAC,EACAP,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCtYjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,IACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAGIE,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAsEhEc,EAAW,CACf,QArEiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EA6BE,KA3Bc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,WACA,aACA,aACA,aACA,cAEA,QACA,SAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMX,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOX,EACP,SAAUW,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQY,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRZ,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUO,EACV,UAAW,EACX,SAAU,CACR,OACAZ,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOX,EAAK,SAAW,KACvB,SAAUc,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCd,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcW,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAhB,GAAO,QAAUC,KC7TjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAEIE,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEc,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOhB,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMmB,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMY,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,GAAuB,CAC3B,UAAW,WACX,MAAO,IAAMhB,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOf,EACP,SAAUe,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRhB,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUW,EACV,UAAW,EACX,SAAU,CACR,OACAhB,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,EACAC,GACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAX,CACF,CACF,EACA,CACE,MAAOP,EAAK,SAAW,KACvB,SAAUkB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEApB,GAAO,QAAUC,KCvjBjB,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBV,EAAK,QAAQS,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUL,CACZ,EACMM,EAAcZ,EAAK,QAAQW,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBb,EAAK,iBACLY,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqCf,EAAK,QAAQc,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAY,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMgB,EAAS,CAAE,SAAU,CACzBF,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIiB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BV,CACF,CACF,EACMW,EAAgBlB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFmB,EAAgB,CAGpB,MAAO,IAAMnB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAgB,EACAR,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMkB,EAAgB,SAAWlB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLiB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUX,EACV,UAAW,EACX,SAAU,CACRU,EACAR,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAmB,CACF,CACF,CACF,CAEArB,GAAO,QAAUC,KC/YjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAUV,SAASC,GAAIN,EAAM,CACjB,IAAMO,EAAQP,EAAK,MACbQ,EAAQT,GAAMC,CAAI,EAClBS,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdb,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRQ,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAH,GAAO,QAAUQ,KCjuBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EA+BtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CApCG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAkBIX,EACAG,EACAI,EACAC,EAnBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAgBIT,EACAD,EACAK,EACAF,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KChPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EAIlB,IAAMC,EAAgB,QAEhBC,GAAiB,kCACjBC,EAAa,iDAEbC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUJ,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAAOC,EAAgB,IAAMC,GAAiB,IAAMC,EAAa,WACxE,OAAQ,CACN,IAAK,IACL,SAAUb,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOmB,EAAW,EAClB,OAAOX,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOA,EAAK,YAAc,MAC1B,UAAW,CACb,EACAA,EAAK,aACP,CACF,EACA,CAAE,MAAO,IACT,EA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AAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAoE3FE,EAAW,CACf,QApEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,SACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KChSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA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B,IACtH,EACMQ,EAAa,CACjB,UAAW,OACX,MAAO,IAAMR,EAAK,oBAClB,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,QAAQM,EAAQ,CAAE,UAAW,QAAS,CAAC,EAC5C,MACF,CACF,CACF,CACF,EAKMG,EAAqBX,GACrBY,EAAwBV,EAAK,QACjC,OAAQ,OACR,CAAE,SAAU,CAAEA,EAAK,oBAAqB,CAAE,CAC5C,EACMW,EAAoB,CAAE,SAAU,CACpC,CACE,UAAW,OACX,MAAOX,EAAK,mBACd,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAC,CACb,CACF,CAAE,EACIY,EAAqBD,EAC3B,OAAAC,EAAmB,SAAS,CAAC,EAAE,SAAW,CAAED,CAAkB,EAC9DA,EAAkB,SAAS,CAAC,EAAE,SAAW,CAAEC,CAAmB,EAEvD,CACL,KAAM,SACN,QAAS,CACP,KACA,KACF,EACA,SAAUX,EACV,SAAU,CACRD,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EACAA,EAAK,oBACLU,EACAR,EACAC,EACAI,EACAC,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,QACL,YAAa,GACb,WAAY,GACZ,SAAUP,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAOD,EAAK,oBAAsB,UAClC,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBAC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L,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CAAEF,CAAS,CACvB,EAEMG,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCrFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAM,CAAE,SAAU,CACtB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAON,EAAM,OACb,iDAGA,uBACF,CAAE,EACF,CACE,MAAO,gBACP,UAAW,CACb,CACF,CAAE,EACIO,EAAkB,CACtBR,EAAK,iBACLK,EACAE,CACF,EACME,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,GACF,EAMMC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,QAAU,CACxD,IAAMC,EAAUD,IAAU,MACtBA,EACAZ,EAAM,OAAOY,EAAOD,CAAI,EAC5B,OAAOX,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAE,EACA,oBACAD,EACAV,CACF,CACF,EAMMY,EAAY,CAACJ,EAAQC,EAAMC,IACxBZ,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAC,EACAV,CACF,EAEIa,EAAwB,CAC5BT,EACAP,EAAK,kBACLA,EAAK,QACH,OACA,OACA,CAAE,eAAgB,EAAK,CACzB,EACAM,EACA,CACE,UAAW,SACX,SAAUE,EACV,SAAU,CACR,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,gBACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,UACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAER,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,eACP,UAAW,CACb,CACF,CACF,EACA,CACE,UAAW,SACX,MAAO,4EACP,UAAW,CACb,EACA,CACE,MAAO,WAAaA,EAAK,eAAiB,gDAC1C,SAAU,kCACV,UAAW,EACX,SAAU,CACRA,EAAK,kBACL,CACE,UAAW,SACX,SAAU,CAER,CAAE,MAAOU,EAAiB,SAAUT,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,CAAC,CAAE,EAEtF,CAAE,MAAOC,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,CACpD,EACA,UAAW,CACb,EACA,CACE,UAAW,SACX,SAAU,CACR,CAGE,MAAO,aACP,UAAW,CACb,EAEA,CAAE,MAAOK,EAAU,YAAa,KAAM,IAAI,CAAE,EAE5C,CAAE,MAAOA,EAAU,OAAQd,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,EAAG,IAAI,CAAE,EAEnF,CAAE,MAAOM,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,CACzC,CACF,CACF,CACF,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,uBACL,WAAY,GACZ,UAAW,EACX,SAAU,CAAEf,EAAK,UAAW,CAC9B,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,aACP,IAAK,YACL,YAAa,cACb,SAAU,CACR,CACE,MAAO,QACP,IAAK,IACL,UAAW,SACb,CACF,CACF,CACF,EACA,OAAAK,EAAM,SAAWW,EACjBV,EAAO,SAAWU,EAEX,CACL,KAAM,OACN,QAAS,CACP,KACA,IACF,EACA,SAAUZ,EACV,SAAUY,CACZ,CACF,CAEAlB,GAAO,QAAUC,KCtdjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAW,CACf,MAAO,WACP,MAAO,OAASF,CAClB,EACMG,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBR,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtES,EAAgBT,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOO,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUV,EAAK,kBAAkB,SAAS,OAAOO,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASb,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKc,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,UACF,EAsBMC,EAAW,CACf,QAASF,EACT,SAhBgBG,IAAU,CAE1B,IAAMC,GAAS,CAAC,EAChB,OAAAD,GAAM,QAAQE,IAAQ,CACpBD,GAAO,KAAKC,EAAI,EACZA,GAAK,YAAY,IAAMA,GACzBD,GAAO,KAAKC,GAAK,YAAY,CAAC,EAE9BD,GAAO,KAAKC,GAAK,YAAY,CAAC,CAElC,CAAC,EACMD,EACT,GAIoBL,CAAQ,EAC1B,SAAUE,CACZ,EAIMK,EAAqBH,IAClBA,GAAM,IAAIE,IACRA,GAAK,QAAQ,SAAU,EAAE,CACjC,EAGGE,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACAxB,EAAM,OAAOa,EAAY,GAAG,EAE5Bb,EAAM,OAAO,MAAOuB,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrEf,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAE,EAEIsB,EAAqBzB,EAAM,OAAOE,EAAU,YAAY,EAExDwB,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL1B,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACL,KACA,OACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,CACF,EACA,MAAO,CAAE,EAAG,aAAe,CAC7B,EACA,CACE,MAAO,CACLG,EACA,KACA,OACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,CACF,CAAE,EAEIwB,GAAiB,CACrB,MAAO,OACP,MAAO3B,EAAM,OAAOE,EAAUF,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CAC/E,EACM4B,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAUT,EACV,SAAU,CACRQ,GACAvB,EACAsB,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,CACF,EACMK,GAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA7B,EAAM,OAAO,wBAAyBuB,EAAkBN,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKM,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhB,EACAF,EAAM,OAAOa,EAAY,GAAG,EAC5Bb,EAAM,UAAU,QAAQ,CAC1B,EACA,MAAO,CAAE,EAAG,uBAAyB,EACrC,SAAU,CAAE4B,CAAY,CAC1B,EACAA,EAAY,SAAS,KAAKC,EAAe,EAEzC,IAAMC,GAAqB,CACzBH,GACAD,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,EAEMO,GAAa,CACjB,MAAO/B,EAAM,OAAO,SAAUG,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAASa,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,OACA,GAAGc,EACL,CACF,EACA,GAAGA,GACH,CACE,MAAO,OACP,MAAO3B,CACT,CACF,CACF,EAEA,MAAO,CACL,iBAAkB,GAClB,SAAUgB,EACV,SAAU,CACRY,GACAhC,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAM,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,GACAH,EACA,CACE,MAAO,CACL,QACA,KACAxB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAsB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxBzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUoB,EACV,SAAU,CACR,OACAf,EACAsB,EACA3B,EAAK,qBACLe,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtChB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAe,EACAC,CACF,CACF,CACF,CAEAlB,GAAO,QAAUC,KCpmBjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAA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AO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOD,EAAM,OACX,KACA,oCACAD,EAAK,SACLC,EAAM,UAAU,OAAO,CAAC,CAC5B,EACME,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUP,EAAK,SAAW,KAC1B,KAAMO,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRN,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CAAE,MAAO,iCAAkC,CAC7C,CACF,EACA,CACE,UAAW,SACX,MAAO,yBACT,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBG,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EAAK,oBACL,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOA,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUM,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChTjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAYV,SAASC,GAAKN,EAAM,CAClB,IAAMO,EAAQR,GAAMC,CAAI,EAClBQ,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBAGLO,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNP,EAAK,kBACLA,EAAK,iBACLO,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAZ,EAAK,kBACLA,EAAK,iBACLO,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAT,GAAO,QAAUQ,KCvtBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MAC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A,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cACA,kCACA,UACA,8BACA,OACA,2BACA,OACF,EAaA,SAASC,GAAMC,EAAM,CACnB,IAAMC,EAAa,CACjB,MAAO,MACP,UAAW,CACb,EAEMC,EAAgBF,EAAK,QACzB,OACA,OACA,CAAE,SAAU,CAAE,MAAO,CAAE,CACzB,EACMG,EAAW,CACfH,EAAK,oBACLE,CACF,EAIME,EAAc,CAClB,MAAO,CACL,KACAzB,GAAO,GAAGG,GAAa,GAAGC,EAAmB,CAC/C,EACA,UAAW,CAAE,EAAG,SAAU,CAC5B,EACMsB,EAAgB,CAEpB,MAAO/B,EAAO,KAAMK,GAAO,GAAGM,EAAQ,CAAC,EACvC,UAAW,CACb,EACMqB,EAAiBrB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAO,CAAE,KAAM,CAAC,EACbC,EAAiBvB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAOvB,EAAY,EACnB,IAAIJ,EAAc,EACf6B,EAAU,CAAE,SAAU,CAC1B,CACE,UAAW,UACX,MAAO9B,GAAO,GAAG6B,EAAgB,GAAGzB,EAAmB,CACzD,CACF,CAAE,EAEI2B,EAAW,CACf,SAAU/B,GACR,QACA,MACF,EACA,QAAS2B,EACN,OAAOlB,EAAkB,EAC5B,QAASF,EACX,EACMyB,EAAgB,CACpBP,EACAC,EACAI,CACF,EAGMG,EAAiB,CAErB,MAAOtC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,CAAC,EACvC,UAAW,CACb,EACMwB,EAAW,CACf,UAAW,WACX,MAAOvC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,EAAG,QAAQ,CACnD,EACMyB,EAAY,CAChBF,EACAC,CACF,EAGME,EAAiB,CAErB,MAAO,KACP,UAAW,CACb,EACMC,EAAW,CACf,UAAW,WACX,UAAW,EACX,SAAU,CACR,CAAE,MAAOxB,EAAS,EAClB,CAIE,MAAO,WAAWD,EAAiB,IAAK,CAC5C,CACF,EACM0B,EAAY,CAChBF,EACAC,CACF,EAIME,EAAgB,aAChBC,EAAY,mBACZC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAa,SAASA,CAAa,iBAAsBA,CAAa,QAAS,EAE/F,CAAE,MAAO,SAASC,CAAS,SAASA,CAAS,iBAAsBD,CAAa,QAAS,EAEzF,CAAE,MAAO,kBAAmB,EAE5B,CAAE,MAAO,iBAAkB,CAC7B,CACF,EAGMG,EAAoB,CAACC,EAAe,MAAQ,CAChD,UAAW,QACX,SAAU,CACR,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,YAAY,CAAE,EAClD,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAAE,CAC/D,CACF,GACMC,EAAkB,CAACD,EAAe,MAAQ,CAC9C,UAAW,QACX,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAC3D,GACME,EAAgB,CAACF,EAAe,MAAQ,CAC5C,UAAW,QACX,MAAO,WACP,MAAOhD,EAAO,KAAMgD,EAAc,IAAI,EACtC,IAAK,IACP,GACMG,EAAmB,CAACH,EAAe,MAAQ,CAC/C,MAAOhD,EAAOgD,EAAc,KAAK,EACjC,IAAKhD,EAAO,MAAOgD,CAAY,EAC/B,SAAU,CACRD,EAAkBC,CAAY,EAC9BC,EAAgBD,CAAY,EAC5BE,EAAcF,CAAY,CAC5B,CACF,GACMI,GAAqB,CAACJ,EAAe,MAAQ,CACjD,MAAOhD,EAAOgD,EAAc,GAAG,EAC/B,IAAKhD,EAAO,IAAKgD,CAAY,EAC7B,SAAU,CACRD,EAAkBC,CAAY,EAC9BE,EAAcF,CAAY,CAC5B,CACF,GACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRF,EAAiB,EACjBA,EAAiB,GAAG,EACpBA,EAAiB,IAAI,EACrBA,EAAiB,KAAK,EACtBC,GAAmB,EACnBA,GAAmB,GAAG,EACtBA,GAAmB,IAAI,EACvBA,GAAmB,KAAK,CAC1B,CACF,EAEME,GAAkB,CACtB5B,EAAK,iBACL,CACE,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,EAEM6B,GAAsB,CAC1B,MAAO,uBACP,IAAK,KACL,SAAUD,EACZ,EAEME,GAA2BR,GAAiB,CAChD,IAAMS,GAAQzD,EAAOgD,EAAc,IAAI,EACjCU,GAAM1D,EAAO,KAAMgD,CAAY,EACrC,MAAO,CACL,MAAAS,GACA,IAAAC,GACA,SAAU,CACR,GAAGJ,GACH,CACE,MAAO,UACP,MAAO,SAASI,EAAG,IACnB,IAAK,GACP,CACF,CACF,CACF,EAGMC,GAAS,CACb,MAAO,SACP,SAAU,CACRH,GAAwB,KAAK,EAC7BA,GAAwB,IAAI,EAC5BA,GAAwB,GAAG,EAC3BD,EACF,CACF,EAGMK,GAAoB,CAAE,MAAO5D,EAAO,IAAKqB,GAAY,GAAG,CAAE,EAC1DwC,GAAqB,CACzB,UAAW,WACX,MAAO,OACT,EACMC,GAA8B,CAClC,UAAW,WACX,MAAO,MAAM1C,EAAmB,GAClC,EACM2C,EAAc,CAClBH,GACAC,GACAC,EACF,EAGME,EAAsB,CAC1B,MAAO,sBACP,MAAO,UACP,OAAQ,CAAE,SAAU,CAClB,CACE,MAAO,KACP,IAAK,KACL,SAAUxC,GACV,SAAU,CACR,GAAGmB,EACHG,EACAO,CACF,CACF,CACF,CAAE,CACJ,EACMY,EAAoB,CACxB,MAAO,UACP,MAAOjE,EAAO,IAAKK,GAAO,GAAGkB,EAAiB,CAAC,CACjD,EACM2C,EAAyB,CAC7B,MAAO,OACP,MAAOlE,EAAO,IAAKqB,EAAU,CAC/B,EACM8C,EAAa,CACjBH,EACAC,EACAC,CACF,EAGME,EAAO,CACX,MAAOrE,GAAU,SAAS,EAC1B,UAAW,EACX,SAAU,CACR,CACE,UAAW,OACX,MAAOC,EAAO,gEAAiEoB,GAAqB,GAAG,CACzG,EACA,CACE,UAAW,OACX,MAAOE,GACP,UAAW,CACb,EACA,CACE,MAAO,QACP,UAAW,CACb,EACA,CACE,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAOtB,EAAO,UAAWD,GAAUuB,EAAc,CAAC,EAClD,UAAW,CACb,CACF,CACF,EACM+C,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAUjC,EACV,SAAU,CACR,GAAGP,EACH,GAAGQ,EACH,GAAG8B,EACH1B,EACA2B,CACF,CACF,EACAA,EAAK,SAAS,KAAKC,CAAiB,EAIpC,IAAMC,EAAqB,CACzB,MAAOtE,EAAOqB,GAAY,MAAM,EAChC,SAAU,MACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,GAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAGA,QAAWmE,K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AUC,KCjMjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,G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QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAA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,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,EAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,EAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,EAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,EAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,EAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,EAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,EAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,EAAgBhF,EAAK,2BAA2B,EAChDiF,EAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5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", + "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
    ';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.9.0\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n
    ${unsafeHTML(icon)}
    \n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], + "mappings": "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,EAED,IAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBL,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMM,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAV,EAAK,YACLE,CACF,CACF,EACMS,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBZ,EAAK,QAAQ,CACjC,OAAQ,IAAIW,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMc,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAZ,EAAK,QAAQ,EACba,EACAH,EACAV,EAAK,kBACLK,EACAW,EACAV,EACAC,EACAC,EACAC,EACAP,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCtYjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,IACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAGIE,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAsEhEc,EAAW,CACf,QArEiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EA6BE,KA3Bc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,WACA,aACA,aACA,aACA,cAEA,QACA,SAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMX,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOX,EACP,SAAUW,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQY,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRZ,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUO,EACV,UAAW,EACX,SAAU,CACR,OACAZ,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOX,EAAK,SAAW,KACvB,SAAUc,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCd,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcW,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAhB,GAAO,QAAUC,KC7TjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAEIE,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEc,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOhB,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMmB,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMY,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,GAAuB,CAC3B,UAAW,WACX,MAAO,IAAMhB,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOf,EACP,SAAUe,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRhB,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUW,EACV,UAAW,EACX,SAAU,CACR,OACAhB,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,EACAC,GACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAX,CACF,CACF,EACA,CACE,MAAOP,EAAK,SAAW,KACvB,SAAUkB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEApB,GAAO,QAAUC,KCvjBjB,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBV,EAAK,QAAQS,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUL,CACZ,EACMM,EAAcZ,EAAK,QAAQW,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBb,EAAK,iBACLY,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqCf,EAAK,QAAQc,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAY,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMgB,EAAS,CAAE,SAAU,CACzBF,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIiB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BV,CACF,CACF,EACMW,EAAgBlB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFmB,EAAgB,CAGpB,MAAO,IAAMnB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAgB,EACAR,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMkB,EAAgB,SAAWlB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLiB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUX,EACV,UAAW,EACX,SAAU,CACRU,EACAR,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAmB,CACF,CACF,CACF,CAEArB,GAAO,QAAUC,KC/YjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAUV,SAASC,GAAIN,EAAM,CACjB,IAAMO,EAAQP,EAAK,MACbQ,EAAQT,GAAMC,CAAI,EAClBS,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdb,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRQ,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAH,GAAO,QAAUQ,KCjuBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EA+BtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CApCG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAkBIX,EACAG,EACAI,EACAC,EAnBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAgBIT,EACAD,EACAK,EACAF,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KChPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EAIlB,IAAMC,EAAgB,QAEhBC,GAAiB,kCACjBC,EAAa,iDAEbC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUJ,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAAOC,EAAgB,IAAMC,GAAiB,IAAMC,EAAa,WACxE,OAAQ,CACN,IAAK,IACL,SAAUb,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOmB,EAAW,EAClB,OAAOX,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOA,EAAK,YAAc,MAC1B,UAAW,CACb,EACAA,EAAK,aACP,CACF,EACA,CAAE,MAAO,IACT,EA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AAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAoE3FE,EAAW,CACf,QApEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,SACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KChSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAIG,EACEC,EAAaX,EAAM,MAAM,UAAUQ,CAAe,EAIxD,GAAKE,EAAIC,EAAW,MAAM,OAAO,EAAI,CACnCJ,EAAS,YAAY,EACrB,MACF,CAKA,IAAKG,EAAIC,EAAW,MAAM,gBAAgB,IACpCD,EAAE,QAAU,EAAG,CACjBH,EAAS,YAAY,EAErB,MACF,CAEJ,CACF,EACMK,EAAa,CACjB,SAAUxB,GACV,QAASC,GACT,QAASC,GACT,SAAUK,GACV,oBAAqBD,EACvB,EAGMmB,EAAgB,kBAChBC,EAAO,OAAOD,CAAa,IAG3BE,EAAiB,sCACjBC,EAAS,CACb,UAAW,SACX,SAAU,CAER,CAAE,MAAO,QAAQD,CAAc,MAAMD,CAAI,YAAYA,CAAI,eAC1CD,CAAa,MAAO,EACnC,CAAE,MAAO,OAAOE,CAAc,SAASD,CAAI,eAAeA,CAAI,MAAO,EAGrE,CAAE,MAAO,4BAA6B,EAGtC,CAAE,MAAO,0CAA2C,EACpD,CAAE,MAAO,8BAA+B,EACxC,CAAE,MAAO,8BAA+B,EAIxC,CAAE,MAAO,iBAAkB,CAC7B,EACA,UAAW,CACb,EAEMG,EAAQ,CACZ,UAAW,QACX,MAAO,SACP,IAAK,MACL,SAAUL,EACV,SAAU,CAAC,CACb,EACMM,EAAgB,CACpB,MAAO,QACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRrB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACME,EAAe,CACnB,MAAO,OACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRtB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACMG,EAAmB,CACvB,MAAO,OACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRvB,EAAK,iBACLoB,CACF,EACA,YAAa,SACf,CACF,EACMI,EAAkB,CACtB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRxB,EAAK,iBACLoB,CACF,CACF,EAwCMK,EAAU,CACd,UAAW,UACX,SAAU,CAzCUzB,EAAK,QACzB,eACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,iBACP,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,EACA,CACE,UAAW,OACX,MAAO,MACP,IAAK,MACL,WAAY,GACZ,aAAc,GACd,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAOM,EAAa,gBACpB,WAAY,GACZ,UAAW,CACb,EAGA,CACE,MAAO,cACP,UAAW,CACb,CACF,CACF,CACF,CACF,CACF,EAKIN,EAAK,qBACLA,EAAK,mBACP,CACF,EACM0B,EAAkB,CACtB1B,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBL,CAIF,EACAC,EAAM,SAAWM,EACd,OAAO,CAGN,MAAO,KACP,IAAK,KACL,SAAUX,EACV,SAAU,CACR,MACF,EAAE,OAAOW,CAAe,CAC1B,CAAC,EACH,IAAMC,EAAqB,CAAC,EAAE,OAAOF,EAASL,EAAM,QAAQ,EACtDQ,EAAkBD,EAAmB,OAAO,CAEhD,CACE,MAAO,KACP,IAAK,KACL,SAAUZ,EACV,SAAU,CAAC,MAAM,EAAE,OAAOY,CAAkB,CAC9C,CACF,CAAC,EACKE,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUd,EACV,SAAUa,CACZ,EAGME,EAAmB,CACvB,SAAU,CAER,CACE,MAAO,CACL,QACA,MACAxB,EACA,MACA,UACA,MACAL,EAAM,OAAOK,EAAY,IAAKL,EAAM,OAAO,KAAMK,CAAU,EAAG,IAAI,CACpE,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,UACH,EAAG,uBACL,CACF,EAEA,CACE,MAAO,CACL,QACA,MACAA,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CAEF,CACF,EAEMyB,GAAkB,CACtB,UAAW,EACX,MACA9B,EAAM,OAEJ,SAEA,iCAEA,6CAEA,kDAKF,EACA,UAAW,cACX,SAAU,CACR,EAAG,CAED,GAAGP,GACH,GAAGC,EACL,CACF,CACF,EAEMqC,EAAa,CACjB,MAAO,aACP,UAAW,OACX,UAAW,GACX,MAAO,8BACT,EAEMC,GAAsB,CAC1B,SAAU,CACR,CACE,MAAO,CACL,WACA,MACA3B,EACA,WACF,CACF,EAEA,CACE,MAAO,CACL,WACA,WACF,CACF,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,MAAO,WACP,SAAU,CAAEuB,CAAO,EACnB,QAAS,GACX,EAEMK,GAAsB,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EAEA,SAASC,GAAOC,EAAM,CACpB,OAAOnC,EAAM,OAAO,MAAOmC,EAAK,KAAK,GAAG,EAAG,GAAG,CAChD,CAEA,IAAMC,GAAgB,CACpB,MAAOpC,EAAM,OACX,KACAkC,GAAO,CACL,GAAGvC,GACH,QACA,QACF,CAAC,EACDU,EAAYL,EAAM,UAAU,IAAI,CAAC,EACnC,UAAW,iBACX,UAAW,CACb,EAEMqC,GAAkB,CACtB,MAAOrC,EAAM,OAAO,KAAMA,EAAM,UAC9BA,EAAM,OAAOK,EAAY,oBAAoB,CAC/C,CAAC,EACD,IAAKA,EACL,aAAc,GACd,SAAU,YACV,UAAW,WACX,UAAW,CACb,EAEMiC,GAAmB,CACvB,MAAO,CACL,UACA,MACAjC,EACA,QACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACR,CACE,MAAO,MACT,EACAuB,CACF,CACF,EAEMW,GAAkB,2DAMbxC,EAAK,oBAAsB,UAEhCyC,EAAoB,CACxB,MAAO,CACL,gBAAiB,MACjBnC,EAAY,MACZ,OACA,cACAL,EAAM,UAAUuC,EAAe,CACjC,EACA,SAAU,QACV,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRX,CACF,CACF,EAEA,MAAO,CACL,KAAM,aACN,QAAS,CAAC,KAAM,MAAO,MAAO,KAAK,EACnC,SAAUd,EAEV,QAAS,CAAE,gBAAAa,EAAiB,gBAAAG,EAAgB,EAC5C,QAAS,eACT,SAAU,CACR/B,EAAK,QAAQ,CACX,MAAO,UACP,OAAQ,OACR,UAAW,CACb,CAAC,EACDgC,EACAhC,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBN,EACAY,GACA,CACE,UAAW,OACX,MAAOzB,EAAaL,EAAM,UAAU,GAAG,EACvC,UAAW,CACb,EACAwC,EACA,CACE,MAAO,IAAMzC,EAAK,eAAiB,kCACnC,SAAU,oBACV,UAAW,EACX,SAAU,CACRyB,EACAzB,EAAK,YACL,CACE,UAAW,WAIX,MAAOwC,GACP,YAAa,GACb,IAAK,SACL,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOxC,EAAK,oBACZ,UAAW,CACb,EACA,CACE,UAAW,KACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUe,EACV,SAAUa,CACZ,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,IACP,UAAW,CACb,EACA,CACE,MAAO,MACP,UAAW,CACb,EACA,CACE,SAAU,CACR,CAAE,MAAOrB,EAAS,MAAO,IAAKA,EAAS,GAAI,EAC3C,CAAE,MAAOC,CAAiB,EAC1B,CACE,MAAOC,EAAQ,MAGf,WAAYA,EAAQ,kBACpB,IAAKA,EAAQ,GACf,CACF,EACA,YAAa,MACb,SAAU,CACR,CACE,MAAOA,EAAQ,MACf,IAAKA,EAAQ,IACb,KAAM,GACN,SAAU,CAAC,MAAM,CACnB,CACF,CACF,CACF,CACF,EACAwB,GACA,CAGE,cAAe,2BACjB,EACA,CAIE,MAAO,kBAAoBjC,EAAK,oBAC9B,gEAOF,YAAY,GACZ,MAAO,WACP,SAAU,CACR6B,EACA7B,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAOM,EAAY,UAAW,gBAAiB,CAAC,CAClF,CACF,EAEA,CACE,MAAO,SACP,UAAW,CACb,EACAgC,GAIA,CACE,MAAO,MAAQhC,EACf,UAAW,CACb,EACA,CACE,MAAO,CAAE,wBAAyB,EAClC,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAU,CAAEuB,CAAO,CACrB,EACAQ,GACAH,GACAJ,EACAS,GACA,CACE,MAAO,QACT,CACF,CACF,CACF,CAEAjD,GAAO,QAAUS,KC7vBjB,IAAA2C,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAY,CAChB,UAAW,OACX,MAAO,8BACP,UAAW,IACb,EACMC,EAAc,CAClB,MAAO,YACP,UAAW,cACX,UAAW,CACb,EACMC,EAAW,CACf,OACA,QACA,MACF,EAMMC,EAAgB,CACpB,MAAO,UACP,cAAeD,EAAS,KAAK,GAAG,CAClC,EAEA,MAAO,CACL,KAAM,OACN,SAAS,CACP,QAASA,CACX,EACA,SAAU,CACRF,EACAC,EACAF,EAAK,kBACLI,EACAJ,EAAK,cACLA,EAAK,oBACLA,EAAK,oBACP,EACA,QAAS,KACX,CACF,CAEAF,GAAO,QAAUC,KCpDjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAgB,kBAChBC,GAAO,OAAOD,EAAa,IAC3BE,GAAY,8BACZC,GAAU,CACZ,UAAW,SACX,SAAU,CAGR,CAAE,MAAO,QAAQH,EAAa,MAAMC,EAAI,YAAYA,EAAI,eACzCD,EAAa,aAAc,EAE1C,CAAE,MAAO,OAAOA,EAAa,MAAMC,EAAI,8BAA+B,EACtE,CAAE,MAAO,IAAIA,EAAI,aAAc,EAC/B,CAAE,MAAO,OAAOD,EAAa,YAAa,EAG1C,CAAE,MAAO,aAAaE,EAAS,UAAUA,EAAS,SAASA,EAAS,eACrDF,EAAa,aAAc,EAG1C,CAAE,MAAO,gCAAiC,EAG1C,CAAE,MAAO,YAAYE,EAAS,WAAY,EAG1C,CAAE,MAAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAWA,SAASE,GAAOC,EAAM,CACpB,IAAMC,EAAW,CACf,QACE,wYAKF,SACE,kEACF,QACE,iBACJ,EACMC,EAAsB,CAC1B,UAAW,UACX,MAAO,mCACP,OAAQ,CAAE,SAAU,CAClB,CACE,UAAW,SACX,MAAO,MACT,CACF,CAAE,CACJ,EACMC,EAAQ,CACZ,UAAW,SACX,MAAOH,EAAK,oBAAsB,GACpC,EAGMI,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,aAAc,CACjC,EACMK,EAAW,CACf,UAAW,WACX,MAAO,MAAQL,EAAK,mBACtB,EACMM,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,IAAK,cACL,SAAU,CACRD,EACAD,CACF,CACF,EAIA,CACE,MAAO,IACP,IAAK,IACL,QAAS,KACT,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,IACL,QAAS,KACT,SAAU,CACRA,EAAK,iBACLK,EACAD,CACF,CACF,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAM,EAE1B,IAAMC,EAAsB,CAC1B,UAAW,OACX,MAAO,gFAAkFP,EAAK,oBAAsB,IACtH,EACMQ,EAAa,CACjB,UAAW,OACX,MAAO,IAAMR,EAAK,oBAClB,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,QAAQM,EAAQ,CAAE,UAAW,QAAS,CAAC,EAC5C,MACF,CACF,CACF,CACF,EAKMG,EAAqBX,GACrBY,EAAwBV,EAAK,QACjC,OAAQ,OACR,CAAE,SAAU,CAAEA,EAAK,oBAAqB,CAAE,CAC5C,EACMW,EAAoB,CAAE,SAAU,CACpC,CACE,UAAW,OACX,MAAOX,EAAK,mBACd,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAC,CACb,CACF,CAAE,EACIY,EAAqBD,EAC3B,OAAAC,EAAmB,SAAS,CAAC,EAAE,SAAW,CAAED,CAAkB,EAC9DA,EAAkB,SAAS,CAAC,EAAE,SAAW,CAAEC,CAAmB,EAEvD,CACL,KAAM,SACN,QAAS,CACP,KACA,KACF,EACA,SAAUX,EACV,SAAU,CACRD,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EACAA,EAAK,oBACLU,EACAR,EACAC,EACAI,EACAC,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,QACL,YAAa,GACb,WAAY,GACZ,SAAUP,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAOD,EAAK,oBAAsB,UAClC,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBAC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L,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CAAEF,CAAS,CACvB,EAEMG,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCrFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAM,CAAE,SAAU,CACtB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAON,EAAM,OACb,iDAGA,uBACF,CAAE,EACF,CACE,MAAO,gBACP,UAAW,CACb,CACF,CAAE,EACIO,EAAkB,CACtBR,EAAK,iBACLK,EACAE,CACF,EACME,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,GACF,EAMMC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,QAAU,CACxD,IAAMC,EAAUD,IAAU,MACtBA,EACAZ,EAAM,OAAOY,EAAOD,CAAI,EAC5B,OAAOX,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAE,EACA,oBACAD,EACAV,CACF,CACF,EAMMY,EAAY,CAACJ,EAAQC,EAAMC,IACxBZ,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAC,EACAV,CACF,EAEIa,EAAwB,CAC5BT,EACAP,EAAK,kBACLA,EAAK,QACH,OACA,OACA,CAAE,eAAgB,EAAK,CACzB,EACAM,EACA,CACE,UAAW,SACX,SAAUE,EACV,SAAU,CACR,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,gBACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,UACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAER,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,eACP,UAAW,CACb,CACF,CACF,EACA,CACE,UAAW,SACX,MAAO,4EACP,UAAW,CACb,EACA,CACE,MAAO,WAAaA,EAAK,eAAiB,gDAC1C,SAAU,kCACV,UAAW,EACX,SAAU,CACRA,EAAK,kBACL,CACE,UAAW,SACX,SAAU,CAER,CAAE,MAAOU,EAAiB,SAAUT,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,CAAC,CAAE,EAEtF,CAAE,MAAOC,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,CACpD,EACA,UAAW,CACb,EACA,CACE,UAAW,SACX,SAAU,CACR,CAGE,MAAO,aACP,UAAW,CACb,EAEA,CAAE,MAAOK,EAAU,YAAa,KAAM,IAAI,CAAE,EAE5C,CAAE,MAAOA,EAAU,OAAQd,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,EAAG,IAAI,CAAE,EAEnF,CAAE,MAAOM,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,CACzC,CACF,CACF,CACF,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,uBACL,WAAY,GACZ,UAAW,EACX,SAAU,CAAEf,EAAK,UAAW,CAC9B,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,aACP,IAAK,YACL,YAAa,cACb,SAAU,CACR,CACE,MAAO,QACP,IAAK,IACL,UAAW,SACb,CACF,CACF,CACF,EACA,OAAAK,EAAM,SAAWW,EACjBV,EAAO,SAAWU,EAEX,CACL,KAAM,OACN,QAAS,CACP,KACA,IACF,EACA,SAAUZ,EACV,SAAUY,CACZ,CACF,CAEAlB,GAAO,QAAUC,KCtdjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAW,CACf,MAAO,WACP,MAAO,OAASF,CAClB,EACMG,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBR,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtES,EAAgBT,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOO,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUV,EAAK,kBAAkB,SAAS,OAAOO,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASb,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKc,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,UACF,EAsBMC,EAAW,CACf,QAASF,EACT,SAhBgBG,IAAU,CAE1B,IAAMC,GAAS,CAAC,EAChB,OAAAD,GAAM,QAAQE,IAAQ,CACpBD,GAAO,KAAKC,EAAI,EACZA,GAAK,YAAY,IAAMA,GACzBD,GAAO,KAAKC,GAAK,YAAY,CAAC,EAE9BD,GAAO,KAAKC,GAAK,YAAY,CAAC,CAElC,CAAC,EACMD,EACT,GAIoBL,CAAQ,EAC1B,SAAUE,CACZ,EAIMK,EAAqBH,IAClBA,GAAM,IAAIE,IACRA,GAAK,QAAQ,SAAU,EAAE,CACjC,EAGGE,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACAxB,EAAM,OAAOa,EAAY,GAAG,EAE5Bb,EAAM,OAAO,MAAOuB,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrEf,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAE,EAEIsB,EAAqBzB,EAAM,OAAOE,EAAU,YAAY,EAExDwB,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL1B,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACL,KACA,OACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,CACF,EACA,MAAO,CAAE,EAAG,aAAe,CAC7B,EACA,CACE,MAAO,CACLG,EACA,KACA,OACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,CACF,CAAE,EAEIwB,GAAiB,CACrB,MAAO,OACP,MAAO3B,EAAM,OAAOE,EAAUF,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CAC/E,EACM4B,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAUT,EACV,SAAU,CACRQ,GACAvB,EACAsB,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,CACF,EACMK,GAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA7B,EAAM,OAAO,wBAAyBuB,EAAkBN,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKM,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhB,EACAF,EAAM,OAAOa,EAAY,GAAG,EAC5Bb,EAAM,UAAU,QAAQ,CAC1B,EACA,MAAO,CAAE,EAAG,uBAAyB,EACrC,SAAU,CAAE4B,CAAY,CAC1B,EACAA,EAAY,SAAS,KAAKC,EAAe,EAEzC,IAAMC,GAAqB,CACzBH,GACAD,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,EAEMO,GAAa,CACjB,MAAO/B,EAAM,OAAO,SAAUG,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAASa,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,OACA,GAAGc,EACL,CACF,EACA,GAAGA,GACH,CACE,MAAO,OACP,MAAO3B,CACT,CACF,CACF,EAEA,MAAO,CACL,iBAAkB,GAClB,SAAUgB,EACV,SAAU,CACRY,GACAhC,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAM,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,GACAH,EACA,CACE,MAAO,CACL,QACA,KACAxB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAsB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxBzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUoB,EACV,SAAU,CACR,OACAf,EACAsB,EACA3B,EAAK,qBACLe,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtChB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAe,EACAC,CACF,CACF,CACF,CAEAlB,GAAO,QAAUC,KCpmBjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAA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AO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOD,EAAM,OACX,KACA,oCACAD,EAAK,SACLC,EAAM,UAAU,OAAO,CAAC,CAC5B,EACME,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUP,EAAK,SAAW,KAC1B,KAAMO,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRN,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CAAE,MAAO,iCAAkC,CAC7C,CACF,EACA,CACE,UAAW,SACX,MAAO,yBACT,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBG,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EAAK,oBACL,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOA,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUM,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChTjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAYV,SAASC,GAAKN,EAAM,CAClB,IAAMO,EAAQR,GAAMC,CAAI,EAClBQ,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBAGLO,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNP,EAAK,kBACLA,EAAK,iBACLO,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAZ,EAAK,kBACLA,EAAK,iBACLO,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAT,GAAO,QAAUQ,KCvtBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,aACA,SACA,QACA,WACA,UACA,WACA,cACF,EAGMC,EAA0B,CAC9B,kBACA,eACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,eACA,cACA,cACA,eACA,YACA,oBACA,gBACF,EAIMC,EAAS,CACb,eACA,cACA,cACA,cACA,WACA,cACA,iBACA,gBACA,cACA,gBACA,gBACA,eACA,cACA,aACA,cACA,eACF,EAEMC,EAAYH,EAEZI,EAAW,CACf,GAAGL,EACH,GAAGD,CACL,EAAE,OAAQO,GACD,CAACL,EAAmB,SAASK,CAAO,CAC5C,EAEKC,EAAW,CACf,UAAW,WACX,MAAO,qBACT,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,gDACP,UAAW,CACb,EAEMC,EAAgB,CACpB,MAAOjB,EAAM,OAAO,KAAMA,EAAM,OAAO,GAAGY,CAAS,EAAG,OAAO,EAC7D,UAAW,EACX,SAAU,CAAE,SAAUA,CAAU,CAClC,EAGA,SAASM,EAAgBC,EAAM,CAC7B,WAAAC,EAAY,KAAAC,CACd,EAAI,CAAC,EAAG,CACN,IAAMC,EAAYD,EAClB,OAAAD,EAAaA,GAAc,CAAC,EACrBD,EAAK,IAAKI,GACXA,EAAK,MAAM,QAAQ,GAAKH,EAAW,SAASG,CAAI,EAC3CA,EACED,EAAUC,CAAI,EAChB,GAAGA,CAAI,KAEPA,CAEV,CACH,CAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAElB,QAAS,WACT,SAAU,CACR,SAAU,YACV,QACEL,EAAgBL,EAAU,CAAE,KAAOW,GAAMA,EAAE,OAAS,CAAE,CAAC,EACzD,QAASpB,EACT,KAAME,EACN,SAAUI,CACZ,EACA,SAAU,CACR,CACE,MAAOV,EAAM,OAAO,GAAGW,CAAM,EAC7B,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASE,EAAS,OAAOF,CAAM,EAC/B,QAASP,EACT,KAAME,CACR,CACF,EACA,CACE,UAAW,OACX,MAAON,EAAM,OAAO,GAAGK,CAAgB,CACzC,EACAY,EACAF,EACAb,EACAC,EACAJ,EAAK,cACLA,EAAK,qBACLE,EACAe,CACF,CACF,CACF,CAEAnB,GAAO,QAAUC,KCzqBjB,IAAA2B,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAI,CAClB,OAAKA,EACD,OAAOA,GAAO,SAAiBA,EAE5BA,EAAG,OAHM,IAIlB,CAMA,SAASC,GAAUD,EAAI,CACrB,OAAOE,EAAO,MAAOF,EAAI,GAAG,CAC9B,CAMA,SAASE,KAAUC,EAAM,CAEvB,OADeA,EAAK,IAAKC,GAAML,GAAOK,CAAC,CAAC,EAAE,KAAK,EAAE,CAEnD,CAMA,SAASC,GAAqBF,EAAM,CAClC,IAAMG,EAAOH,EAAKA,EAAK,OAAS,CAAC,EAEjC,OAAI,OAAOG,GAAS,UAAYA,EAAK,cAAgB,QACnDH,EAAK,OAAOA,EAAK,OAAS,EAAG,CAAC,EACvBG,GAEA,CAAC,CAEZ,CAWA,SAASC,MAAUJ,EAAM,CAMvB,MAHe,KADFE,GAAqBF,CAAI,EAE5B,QAAU,GAAK,MACrBA,EAAK,IAAKC,GAAML,GAAOK,CAAC,CAAC,EAAE,KAAK,GAAG,EAAI,GAE7C,CAEA,IAAMI,GAAiBC,GAAWP,EAChC,KACAO,EACA,MAAM,KAAKA,CAAO,EAAI,KAAO,IAC/B,EAGMC,GAAc,CAClB,WACA,MACF,EAAE,IAAIF,EAAc,EAGdG,GAAsB,CAC1B,OACA,MACF,EAAE,IAAIH,EAAc,EAGdI,GAAe,CACnB,MACA,MACF,EAGMC,GAAW,CAIf,QACA,MACA,iBACA,QACA,QACA,OACA,MACA,KACA,YACA,QACA,OACA,QACA,QACA,UACA,YACA,WACA,cACA,OACA,UACA,QACA,SACA,SACA,cACA,KACA,UACA,OACA,OACA,OACA,YACA,cACA,qBACA,cACA,QACA,MACA,OACA,MACA,QACA,KACA,SACA,WACA,QACA,SACA,QACA,QACA,kBACA,WACA,KACA,KACA,WACA,cACA,OACA,MACA,QACA,WACA,cACA,cACA,OACA,WACA,WACA,WACA,UACA,kBACA,SACA,iBACA,UACA,WACA,gBACA,SACA,SACA,WACA,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cAC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ACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,GAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAGA,QAAWmE,KAAW1B,EAAO,SAAU,CACrC,IAAM2B,GAAgBD,EAAQ,SAAS,KAAKE,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAW5C,EACzB,IAAM8C,GAAW,CACf,GAAG7C,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,CACL,EACAiB,GAAc,SAAW,CACvB,GAAGE,GACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,EACL,CACF,CACF,CACF,CAEA,MAAO,CACL,KAAM,QACN,SAAU9C,EACV,SAAU,CACR,GAAGP,EACH8C,GACAC,GACA,CACE,cAAe,6CACf,IAAK,MACL,WAAY,GACZ,SAAUxC,EACV,SAAU,CACRV,EAAK,QAAQA,EAAK,WAAY,CAC5B,UAAW,cACX,MAAO,uCACT,CAAC,EACD,GAAGW,CACL,CACF,EACAwC,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGjD,CAAS,EACxB,UAAW,CACb,EACA8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,EACAG,CACF,CACF,CACF,CAEA3E,GAAO,QAAU6B,KCv5BjB,IAAA0D,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAW,yBAGXC,EAAiB,8BAMjBC,EAAM,CACV,UAAW,OACX,SAAU,CACR,CAAE,MAAO,6BAA+B,EACxC,CACE,MAAO,+BAAiC,EAC1C,CACE,MAAO,+BAAmC,CAC9C,CACF,EAEMC,EAAqB,CACzB,UAAW,oBACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,MACP,EACA,CACE,MAAO,MACP,IAAK,IACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,KAAM,CACjB,EACA,SAAU,CACRL,EAAK,iBACLI,CACF,CACF,EAIME,EAAmBN,EAAK,QAAQK,EAAQ,CAAE,SAAU,CACxD,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,cAAe,CAC1B,CAAE,CAAC,EAEGE,EAAU,6BACVC,EAAU,yCACVC,EAAc,eACdC,EAAU,8CACVC,EAAY,CAChB,UAAW,SACX,MAAO,MAAQJ,EAAUC,EAAUC,EAAcC,EAAU,KAC7D,EAEME,EAAkB,CACtB,IAAK,IACL,eAAgB,GAChB,WAAY,GACZ,SAAUX,EACV,UAAW,CACb,EACMY,EAAS,CACb,MAAO,KACP,IAAK,KACL,SAAU,CAAED,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EACME,EAAQ,CACZ,MAAO,MACP,IAAK,MACL,SAAU,CAAEF,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EAEMG,EAAQ,CACZZ,EACA,CACE,UAAW,OACX,MAAO,YACP,UAAW,EACb,EACA,CAKE,UAAW,SACX,MAAO,+DACT,EACA,CACE,MAAO,WACP,IAAK,UACL,YAAa,OACb,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,SAAWD,CACpB,EAEA,CACE,UAAW,OACX,MAAO,KAAOA,EAAiB,GACjC,EACA,CACE,UAAW,OACX,MAAO,IAAMA,CACf,EACA,CACE,UAAW,OACX,MAAO,KAAOA,CAChB,EACA,CACE,UAAW,OACX,MAAO,IAAMF,EAAK,oBAAsB,GAC1C,EACA,CACE,UAAW,OACX,MAAO,MAAQA,EAAK,oBAAsB,GAC5C,EACA,CACE,UAAW,SAEX,MAAO,aACP,UAAW,CACb,EACAA,EAAK,kBACL,CACE,cAAeC,EACf,SAAU,CAAE,QAASA,CAAS,CAChC,EACAU,EAGA,CACE,UAAW,SACX,MAAOX,EAAK,YAAc,MAC1B,UAAW,CACb,EACAa,EACAC,EACAT,CACF,EAEMW,EAAc,CAAE,GAAGD,CAAM,EAC/B,OAAAC,EAAY,IAAI,EAChBA,EAAY,KAAKV,CAAgB,EACjCM,EAAgB,SAAWI,EAEpB,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,CAAE,KAAM,EACjB,SAAUD,CACZ,CACF,CAEAjB,GAAO,QAAUC,KCjMjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,G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QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAA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,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,EAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,EAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,EAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,EAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,EAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,EAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,EAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,EAAgBhF,EAAK,2BAA2B,EAChDiF,EAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5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", "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "SIMPLE_PROMPT", "DEFAULT_PROMPT", "RVM_PROMPT", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "VAR", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "reduceRelevancy", "list", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "STRING", "CONTAINER_STRING", "DATE_RE", "TIME_RE", "FRACTION_RE", "ZONE_RE", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayPop", "pop", "arrayPush", "push", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "numberIsNaN", "isNaN", "func", "thisArg", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "undefined", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "createDOMPurify", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "Element", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "MAX_NESTING_DEPTH", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "parentNode", "removeChild", "remove", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "elm", "__depth", "__removalCount", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHook", "entryPoint", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "attr", "forceKeepAttr", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "import_dompurify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "DOMPurify", "node", "data", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "entries", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] } From d9103c85693263c418c015ba341119bf173854b4 Mon Sep 17 00:00:00 2001 From: Carson Date: Mon, 12 May 2025 17:28:28 -0500 Subject: [PATCH 4/5] Check every tag before defining --- js/chat/chat.ts | 10 ++++- shiny/www/py-shiny/chat/chat.js | 18 ++++----- shiny/www/py-shiny/chat/chat.js.map | 4 +- .../markdown-stream/markdown-stream.js | 38 +++++++++---------- .../markdown-stream/markdown-stream.js.map | 4 +- 5 files changed, 41 insertions(+), 33 deletions(-) diff --git a/js/chat/chat.ts b/js/chat/chat.ts index fc0323c0f..8b1bdccd5 100644 --- a/js/chat/chat.ts +++ b/js/chat/chat.ts @@ -528,11 +528,19 @@ class ChatContainer extends LightElement { // ------- Register custom elements and shiny bindings --------- -if (!customElements.get(CHAT_MESSAGES_TAG)) { +if (!customElements.get(CHAT_MESSAGE_TAG)) { customElements.define(CHAT_MESSAGE_TAG, ChatMessage); +} +if (!customElements.get(CHAT_USER_MESSAGE_TAG)) { customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage); +} +if (!customElements.get(CHAT_MESSAGES_TAG)) { customElements.define(CHAT_MESSAGES_TAG, ChatMessages); +} +if (!customElements.get(CHAT_INPUT_TAG)) { customElements.define(CHAT_INPUT_TAG, ChatInput); +} +if (!customElements.get(CHAT_CONTAINER_TAG)) { customElements.define(CHAT_CONTAINER_TAG, ChatContainer); } diff --git a/shiny/www/py-shiny/chat/chat.js b/shiny/www/py-shiny/chat/chat.js index e7ca12240..84fb9231f 100644 --- a/shiny/www/py-shiny/chat/chat.js +++ b/shiny/www/py-shiny/chat/chat.js @@ -1,8 +1,8 @@ -var Ds=Object.create;var Ae=Object.defineProperty;var vn=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf,Us=Object.prototype.hasOwnProperty;var ks=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var Hs=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Is(t))!Us.call(o,i)&&i!==e&&Ae(o,i,{get:()=>t[i],enumerable:!(s=vn(t,i))||s.enumerable});return o};var Fs=(o,t,e)=>(e=o!=null?Ds(Ps(o)):{},Hs(t||!o||!o.__esModule?Ae(e,"default",{value:o,enumerable:!0}):e,o));var j=(o,t,e,s)=>{for(var i=s>1?void 0:s?vn(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&Ae(t,e,i),i};var Gn=ks((Le,Re)=>{(function(o,t){typeof Le=="object"&&typeof Re<"u"?Re.exports=t():typeof define=="function"&&define.amd?define(t):(o=typeof globalThis<"u"?globalThis:o||self,o.DOMPurify=t())})(Le,function(){"use strict";let{entries:o,setPrototypeOf:t,isFrozen:e,getPrototypeOf:s,getOwnPropertyDescriptor:i}=Object,{freeze:r,seal:l,create:A}=Object,{apply:p,construct:y}=typeof Reflect<"u"&&Reflect;r||(r=function(u){return u}),l||(l=function(u){return u}),p||(p=function(u,_,g){return u.apply(_,g)}),y||(y=function(u,_){return new u(..._)});let T=U(Array.prototype.forEach),E=U(Array.prototype.pop),R=U(Array.prototype.push),P=U(String.prototype.toLowerCase),Y=U(String.prototype.toString),Ie=U(String.prototype.match),mt=U(String.prototype.replace),Kn=U(String.prototype.indexOf),Xn=U(String.prototype.trim),H=U(Object.prototype.hasOwnProperty),x=U(RegExp.prototype.test),gt=Zn(TypeError);function Pe(m){return typeof m=="number"&&isNaN(m)}function U(m){return function(u){for(var _=arguments.length,g=new Array(_>1?_-1:0),M=1;M<_;M++)g[M-1]=arguments[M];return p(m,u,g)}}function Zn(m){return function(){for(var u=arguments.length,_=new Array(u),g=0;g2&&arguments[2]!==void 0?arguments[2]:P;t&&t(m,null);let g=u.length;for(;g--;){let M=u[g];if(typeof M=="string"){let B=_(M);B!==M&&(e(u)||(u[g]=B),M=B)}m[M]=!0}return m}function Jn(m){for(let u=0;u/gm),ss=l(/\${[\w\W]*}/gm),is=l(/^data-[\-\w.\u00B7-\uFFFF]/),os=l(/^aria-[\-\w]+$/),ze=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rs=l(/^(?:\w+script|data):/i),as=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Be=l(/^html$/i),ls=l(/^[a-z][.\w]*(-[.\w]+)+$/i);var Ge=Object.freeze({__proto__:null,MUSTACHE_EXPR:es,ERB_EXPR:ns,TMPLIT_EXPR:ss,DATA_ATTR:is,ARIA_ATTR:os,IS_ALLOWED_URI:ze,IS_SCRIPT_OR_DATA:rs,ATTR_WHITESPACE:as,DOCTYPE_NAME:Be,CUSTOM_ELEMENT:ls});let Q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},cs=function(){return typeof window>"u"?null:window},us=function(u,_){if(typeof u!="object"||typeof u.createPolicy!="function")return null;let g=null,M="data-tt-policy-suffix";_&&_.hasAttribute(M)&&(g=_.getAttribute(M));let B="dompurify"+(g?"#"+g:"");try{return u.createPolicy(B,{createHTML(ot){return ot},createScriptURL(ot){return ot}})}catch{return console.warn("TrustedTypes policy "+B+" could not be created."),null}};function We(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:cs(),u=h=>We(h);if(u.version="3.1.4",u.removed=[],!m||!m.document||m.document.nodeType!==Q.document)return u.isSupported=!1,u;let{document:_}=m,g=_,M=g.currentScript,{DocumentFragment:B,HTMLTemplateElement:ot,Node:ie,Element:je,NodeFilter:_t,NamedNodeMap:ps=m.NamedNodeMap||m.MozNamedAttrMap,HTMLFormElement:ds,DOMParser:fs,trustedTypes:It}=m,Pt=je.prototype,ms=Ot(Pt,"cloneNode"),gs=Ot(Pt,"nextSibling"),_s=Ot(Pt,"childNodes"),Et=Ot(Pt,"parentNode");if(typeof ot=="function"){let h=_.createElement("template");h.content&&h.content.ownerDocument&&(_=h.content.ownerDocument)}let N,At="",{implementation:oe,createNodeIterator:Es,createDocumentFragment:As,getElementsByTagName:ys}=_,{importNode:Ts}=g,F={};u.isSupported=typeof o=="function"&&typeof Et=="function"&&oe&&oe.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:re,ERB_EXPR:ae,TMPLIT_EXPR:le,DATA_ATTR:vs,ARIA_ATTR:Ss,IS_SCRIPT_OR_DATA:bs,ATTR_WHITESPACE:Ve,CUSTOM_ELEMENT:Cs}=Ge,{IS_ALLOWED_URI:qe}=Ge,b=null,Ye=f({},[...Ue,...te,...ee,...ne,...ke]),C=null,Ke=f({},[...He,...se,...Fe,...Dt]),v=Object.seal(A(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),yt=null,ce=null,Xe=!0,ue=!0,Ze=!1,Je=!0,rt=!1,he=!0,tt=!1,pe=!1,de=!1,at=!1,Ut=!1,kt=!1,Qe=!0,tn=!1,ws="user-content-",fe=!0,Tt=!1,lt={},ct=null,en=f({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),nn=null,sn=f({},["audio","video","img","source","image","track"]),me=null,on=f({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ht="http://www.w3.org/1998/Math/MathML",Ft="http://www.w3.org/2000/svg",G="http://www.w3.org/1999/xhtml",ut=G,ge=!1,_e=null,$s=f({},[Ht,Ft,G],Y),vt=null,Ms=["application/xhtml+xml","text/html"],Ls="text/html",w=null,ht=null,rn=255,Rs=_.createElement("form"),an=function(n){return n instanceof RegExp||n instanceof Function},Ee=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ht&&ht===n)){if((!n||typeof n!="object")&&(n={}),n=J(n),vt=Ms.indexOf(n.PARSER_MEDIA_TYPE)===-1?Ls:n.PARSER_MEDIA_TYPE,w=vt==="application/xhtml+xml"?Y:P,b=H(n,"ALLOWED_TAGS")?f({},n.ALLOWED_TAGS,w):Ye,C=H(n,"ALLOWED_ATTR")?f({},n.ALLOWED_ATTR,w):Ke,_e=H(n,"ALLOWED_NAMESPACES")?f({},n.ALLOWED_NAMESPACES,Y):$s,me=H(n,"ADD_URI_SAFE_ATTR")?f(J(on),n.ADD_URI_SAFE_ATTR,w):on,nn=H(n,"ADD_DATA_URI_TAGS")?f(J(sn),n.ADD_DATA_URI_TAGS,w):sn,ct=H(n,"FORBID_CONTENTS")?f({},n.FORBID_CONTENTS,w):en,yt=H(n,"FORBID_TAGS")?f({},n.FORBID_TAGS,w):{},ce=H(n,"FORBID_ATTR")?f({},n.FORBID_ATTR,w):{},lt=H(n,"USE_PROFILES")?n.USE_PROFILES:!1,Xe=n.ALLOW_ARIA_ATTR!==!1,ue=n.ALLOW_DATA_ATTR!==!1,Ze=n.ALLOW_UNKNOWN_PROTOCOLS||!1,Je=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,rt=n.SAFE_FOR_TEMPLATES||!1,he=n.SAFE_FOR_XML!==!1,tt=n.WHOLE_DOCUMENT||!1,at=n.RETURN_DOM||!1,Ut=n.RETURN_DOM_FRAGMENT||!1,kt=n.RETURN_TRUSTED_TYPE||!1,de=n.FORCE_BODY||!1,Qe=n.SANITIZE_DOM!==!1,tn=n.SANITIZE_NAMED_PROPS||!1,fe=n.KEEP_CONTENT!==!1,Tt=n.IN_PLACE||!1,qe=n.ALLOWED_URI_REGEXP||ze,ut=n.NAMESPACE||G,v=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&an(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(v.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&an(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(v.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(v.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),rt&&(ue=!1),Ut&&(at=!0),lt&&(b=f({},ke),C=[],lt.html===!0&&(f(b,Ue),f(C,He)),lt.svg===!0&&(f(b,te),f(C,se),f(C,Dt)),lt.svgFilters===!0&&(f(b,ee),f(C,se),f(C,Dt)),lt.mathMl===!0&&(f(b,ne),f(C,Fe),f(C,Dt))),n.ADD_TAGS&&(b===Ye&&(b=J(b)),f(b,n.ADD_TAGS,w)),n.ADD_ATTR&&(C===Ke&&(C=J(C)),f(C,n.ADD_ATTR,w)),n.ADD_URI_SAFE_ATTR&&f(me,n.ADD_URI_SAFE_ATTR,w),n.FORBID_CONTENTS&&(ct===en&&(ct=J(ct)),f(ct,n.FORBID_CONTENTS,w)),fe&&(b["#text"]=!0),tt&&f(b,["html","head","body"]),b.table&&(f(b,["tbody"]),delete yt.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=n.TRUSTED_TYPES_POLICY,At=N.createHTML("")}else N===void 0&&(N=us(It,M)),N!==null&&typeof At=="string"&&(At=N.createHTML(""));r&&r(n),ht=n}},ln=f({},["mi","mo","mn","ms","mtext"]),cn=f({},["foreignobject","annotation-xml"]),xs=f({},["title","style","font","a","script"]),un=f({},[...te,...ee,...Qn]),hn=f({},[...ne,...ts]),Ns=function(n){let a=Et(n);(!a||!a.tagName)&&(a={namespaceURI:ut,tagName:"template"});let c=P(n.tagName),d=P(a.tagName);return _e[n.namespaceURI]?n.namespaceURI===Ft?a.namespaceURI===G?c==="svg":a.namespaceURI===Ht?c==="svg"&&(d==="annotation-xml"||ln[d]):!!un[c]:n.namespaceURI===Ht?a.namespaceURI===G?c==="math":a.namespaceURI===Ft?c==="math"&&cn[d]:!!hn[c]:n.namespaceURI===G?a.namespaceURI===Ft&&!cn[d]||a.namespaceURI===Ht&&!ln[d]?!1:!hn[c]&&(xs[c]||!un[c]):!!(vt==="application/xhtml+xml"&&_e[n.namespaceURI]):!1},k=function(n){R(u.removed,{element:n});try{n.parentNode.removeChild(n)}catch{n.remove()}},zt=function(n,a){try{R(u.removed,{attribute:a.getAttributeNode(n),from:a})}catch{R(u.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is"&&!C[n])if(at||Ut)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},pn=function(n){let a=null,c=null;if(de)n=""+n;else{let $=Ie(n,/^[\r\n\t ]+/);c=$&&$[0]}vt==="application/xhtml+xml"&&ut===G&&(n=''+n+"");let d=N?N.createHTML(n):n;if(ut===G)try{a=new fs().parseFromString(d,vt)}catch{}if(!a||!a.documentElement){a=oe.createDocument(ut,"template",null);try{a.documentElement.innerHTML=ge?At:d}catch{}}let L=a.body||a.documentElement;return n&&c&&L.insertBefore(_.createTextNode(c),L.childNodes[0]||null),ut===G?ys.call(a,tt?"html":"body")[0]:tt?a.documentElement:L},dn=function(n){return Es.call(n.ownerDocument||n,n,_t.SHOW_ELEMENT|_t.SHOW_COMMENT|_t.SHOW_TEXT|_t.SHOW_PROCESSING_INSTRUCTION|_t.SHOW_CDATA_SECTION,null)},fn=function(n){return n instanceof ds&&(typeof n.__depth<"u"&&typeof n.__depth!="number"||typeof n.__removalCount<"u"&&typeof n.__removalCount!="number"||typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof ps)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},mn=function(n){return typeof ie=="function"&&n instanceof ie},W=function(n,a,c){F[n]&&T(F[n],d=>{d.call(u,a,c,ht)})},gn=function(n){let a=null;if(W("beforeSanitizeElements",n,null),fn(n))return k(n),!0;let c=w(n.nodeName);if(W("uponSanitizeElement",n,{tagName:c,allowedTags:b}),n.hasChildNodes()&&!mn(n.firstElementChild)&&x(/<[/\w]/g,n.innerHTML)&&x(/<[/\w]/g,n.textContent)||n.nodeType===Q.progressingInstruction||he&&n.nodeType===Q.comment&&x(/<[/\w]/g,n.data))return k(n),!0;if(!b[c]||yt[c]){if(!yt[c]&&En(c)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c)))return!1;if(fe&&!ct[c]){let d=Et(n)||n.parentNode,L=_s(n)||n.childNodes;if(L&&d){let $=L.length;for(let D=$-1;D>=0;--D){let I=ms(L[D],!0);I.__removalCount=(n.__removalCount||0)+1,d.insertBefore(I,gs(n))}}}return k(n),!0}return n instanceof je&&!Ns(n)||(c==="noscript"||c==="noembed"||c==="noframes")&&x(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(rt&&n.nodeType===Q.text&&(a=n.textContent,T([re,ae,le],d=>{a=mt(a,d," ")}),n.textContent!==a&&(R(u.removed,{element:n.cloneNode()}),n.textContent=a)),W("afterSanitizeElements",n,null),!1)},_n=function(n,a,c){if(Qe&&(a==="id"||a==="name")&&(c in _||c in Rs||c==="__depth"||c==="__removalCount"))return!1;if(!(ue&&!ce[a]&&x(vs,a))){if(!(Xe&&x(Ss,a))){if(!C[a]||ce[a]){if(!(En(n)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,n)||v.tagNameCheck instanceof Function&&v.tagNameCheck(n))&&(v.attributeNameCheck instanceof RegExp&&x(v.attributeNameCheck,a)||v.attributeNameCheck instanceof Function&&v.attributeNameCheck(a))||a==="is"&&v.allowCustomizedBuiltInElements&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c))))return!1}else if(!me[a]){if(!x(qe,mt(c,Ve,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Kn(c,"data:")===0&&nn[n])){if(!(Ze&&!x(bs,mt(c,Ve,"")))){if(c)return!1}}}}}}return!0},En=function(n){return n!=="annotation-xml"&&Ie(n,Cs)},An=function(n){W("beforeSanitizeAttributes",n,null);let{attributes:a}=n;if(!a)return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C},d=a.length;for(;d--;){let L=a[d],{name:$,namespaceURI:D,value:I}=L,St=w($),O=$==="value"?I:Xn(I);if(c.attrName=St,c.attrValue=O,c.keepAttr=!0,c.forceKeepAttr=void 0,W("uponSanitizeAttribute",n,c),O=c.attrValue,c.forceKeepAttr||(zt($,n),!c.keepAttr))continue;if(!Je&&x(/\/>/i,O)){zt($,n);continue}if(he&&x(/((--!?|])>)|<\/(style|title)/i,O)){zt($,n);continue}rt&&T([re,ae,le],Tn=>{O=mt(O,Tn," ")});let yn=w(n.nodeName);if(_n(yn,St,O)){if(tn&&(St==="id"||St==="name")&&(zt($,n),O=ws+O),N&&typeof It=="object"&&typeof It.getAttributeType=="function"&&!D)switch(It.getAttributeType(yn,St)){case"TrustedHTML":{O=N.createHTML(O);break}case"TrustedScriptURL":{O=N.createScriptURL(O);break}}try{D?n.setAttributeNS(D,$,O):n.setAttribute($,O),fn(n)?k(n):E(u.removed)}catch{}}}W("afterSanitizeAttributes",n,null)},Os=function h(n){let a=null,c=dn(n);for(W("beforeSanitizeShadowDOM",n,null);a=c.nextNode();){if(W("uponSanitizeShadowNode",a,null),gn(a))continue;let d=Et(a);a.nodeType===Q.element&&(d&&d.__depth?a.__depth=(a.__removalCount||0)+d.__depth+1:a.__depth=1),(a.__depth>=rn||a.__depth<0||Pe(a.__depth))&&k(a),a.content instanceof B&&(a.content.__depth=a.__depth,h(a.content)),An(a)}W("afterSanitizeShadowDOM",n,null)};return u.sanitize=function(h){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,d=null,L=null;if(ge=!h,ge&&(h=""),typeof h!="string"&&!mn(h))if(typeof h.toString=="function"){if(h=h.toString(),typeof h!="string")throw gt("dirty is not a string, aborting")}else throw gt("toString is not a function");if(!u.isSupported)return h;if(pe||Ee(n),u.removed=[],typeof h=="string"&&(Tt=!1),Tt){if(h.nodeName){let I=w(h.nodeName);if(!b[I]||yt[I])throw gt("root node is forbidden and cannot be sanitized in-place")}}else if(h instanceof ie)a=pn(""),c=a.ownerDocument.importNode(h,!0),c.nodeType===Q.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!at&&!rt&&!tt&&h.indexOf("<")===-1)return N&&kt?N.createHTML(h):h;if(a=pn(h),!a)return at?null:kt?At:""}a&&de&&k(a.firstChild);let $=dn(Tt?h:a);for(;d=$.nextNode();){if(gn(d))continue;let I=Et(d);d.nodeType===Q.element&&(I&&I.__depth?d.__depth=(d.__removalCount||0)+I.__depth+1:d.__depth=1),(d.__depth>=rn||d.__depth<0||Pe(d.__depth))&&k(d),d.content instanceof B&&(d.content.__depth=d.__depth,Os(d.content)),An(d)}if(Tt)return h;if(at){if(Ut)for(L=As.call(a.ownerDocument);a.firstChild;)L.appendChild(a.firstChild);else L=a;return(C.shadowroot||C.shadowrootmode)&&(L=Ts.call(g,L,!0)),L}let D=tt?a.outerHTML:a.innerHTML;return tt&&b["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&x(Be,a.ownerDocument.doctype.name)&&(D=" -`+D),rt&&T([re,ae,le],I=>{D=mt(D,I," ")}),N&&kt?N.createHTML(D):D},u.setConfig=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ee(h),pe=!0},u.clearConfig=function(){ht=null,pe=!1},u.isValidAttribute=function(h,n,a){ht||Ee({});let c=w(h),d=w(n);return _n(c,d,a)},u.addHook=function(h,n){typeof n=="function"&&(F[h]=F[h]||[],R(F[h],n))},u.removeHook=function(h){if(F[h])return E(F[h])},u.removeHooks=function(h){F[h]&&(F[h]=[])},u.removeAllHooks=function(){F={}},u}var hs=We();return hs})});var Bt=globalThis,Wt=Bt.ShadowRoot&&(Bt.ShadyCSS===void 0||Bt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,bn=Symbol(),Sn=new WeakMap,Gt=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==bn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=Sn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Sn.set(e,t))}return t}toString(){return this.cssText}},Cn=o=>new Gt(typeof o=="string"?o:o+"",void 0,bn);var ye=(o,t)=>{if(Wt)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let s=document.createElement("style"),i=Bt.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,o.appendChild(s)}},jt=Wt?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return Cn(e)})(o):o;var{is:zs,defineProperty:Bs,getOwnPropertyDescriptor:Gs,getOwnPropertyNames:Ws,getOwnPropertySymbols:js,getPrototypeOf:Vs}=Object,Vt=globalThis,wn=Vt.trustedTypes,qs=wn?wn.emptyScript:"",Ys=Vt.reactiveElementPolyfillSupport,bt=(o,t)=>o,Ct={toAttribute(o,t){switch(t){case Boolean:o=o?qs:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},qt=(o,t)=>!zs(o,t),$n={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt};Symbol.metadata??=Symbol("metadata"),Vt.litPropertyMetadata??=new WeakMap;var V=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=$n){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&Bs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){let{get:i,set:r}=Gs(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get(){return i?.call(this)},set(l){let A=i?.call(this);r.call(this,l),this.requestUpdate(t,A,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$n}static _$Ei(){if(this.hasOwnProperty(bt("elementProperties")))return;let t=Vs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(bt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(bt("properties"))){let e=this.properties,s=[...Ws(e),...js(e)];for(let i of s)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let i of s)e.unshift(jt(i))}else t!==void 0&&e.push(jt(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ye(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){let s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){let r=(s.converter?.toAttribute!==void 0?s.converter:Ct).toAttribute(e,s.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=s.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Ct;this._$Em=i,this[i]=l.fromAttribute(e,r.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??qt)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[i,r]of s)r.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.P(i,this[i],r)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach(e=>this._$EC(e,this[e])),this._$EU()}updated(t){}firstUpdated(t){}};V.elementStyles=[],V.shadowRootOptions={mode:"open"},V[bt("elementProperties")]=new Map,V[bt("finalized")]=new Map,Ys?.({ReactiveElement:V}),(Vt.reactiveElementVersions??=[]).push("2.0.4");var $e=globalThis,Yt=$e.trustedTypes,Mn=Yt?Yt.createPolicy("lit-html",{createHTML:o=>o}):void 0,Dn="$lit$",K=`lit$${Math.random().toFixed(9).slice(2)}$`,In="?"+K,Ks=`<${In}>`,st=document,$t=()=>st.createComment(""),Mt=o=>o===null||typeof o!="object"&&typeof o!="function",Pn=Array.isArray,Xs=o=>Pn(o)||typeof o?.[Symbol.iterator]=="function",Te=`[ -\f\r]`,wt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ln=/-->/g,Rn=/>/g,et=RegExp(`>|${Te}(?:([^\\s"'>=/]+)(${Te}*=${Te}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),xn=/'/g,Nn=/"/g,Un=/^(?:script|style|textarea|title)$/i,kn=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ft=kn(1),ui=kn(2),q=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),On=new WeakMap,nt=st.createTreeWalker(st,129);function Hn(o,t){if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Mn!==void 0?Mn.createHTML(t):t}var Zs=(o,t)=>{let e=o.length-1,s=[],i,r=t===2?"":"",l=wt;for(let A=0;A"?(l=i??wt,E=-1):T[1]===void 0?E=-2:(E=l.lastIndex-T[2].length,y=T[1],l=T[3]===void 0?et:T[3]==='"'?Nn:xn):l===Nn||l===xn?l=et:l===Ln||l===Rn?l=wt:(l=et,i=void 0);let P=l===et&&o[A+1].startsWith("/>")?" ":"";r+=l===wt?p+Ks:E>=0?(s.push(y),p.slice(0,E)+Dn+p.slice(E)+K+P):p+K+(E===-2?A:P)}return[Hn(o,r+(o[e]||"")+(t===2?"":"")),s]},Lt=class o{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,l=0,A=t.length-1,p=this.parts,[y,T]=Zs(t,e);if(this.el=o.createElement(y,s),nt.currentNode=this.el.content,e===2){let E=this.el.content.firstChild;E.replaceWith(...E.childNodes)}for(;(i=nt.nextNode())!==null&&p.length0){i.textContent=Yt?Yt.emptyScript:"";for(let P=0;P2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=S}_$AI(t,e=this,s,i){let r=this.strings,l=!1;if(r===void 0)t=pt(this,t,e,0),l=!Mt(t)||t!==this._$AH&&t!==q,l&&(this._$AH=t);else{let A=t,p,y;for(t=r[0],p=0;p{let s=e?.renderBefore??t,i=s._$litPart$;if(i===void 0){let r=e?.renderBefore??null;s._$litPart$=i=new Rt(t.insertBefore($t(),r),r,void 0,e??{})}return i._$AI(o),i};var X=class extends V{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Fn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}};X._$litElement$=!0,X["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:X});var Qs=globalThis.litElementPolyfillSupport;Qs?.({LitElement:X});(globalThis.litElementVersions??=[]).push("4.0.5");var zn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Bn=o=>(...t)=>({_$litDirective$:o,values:t}),Kt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var xt=class extends Kt{constructor(t){if(super(t),this.it=S,t.type!==zn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===S||t==null)return this._t=void 0,this.it=t;if(t===q)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};xt.directiveName="unsafeHTML",xt.resultType=1;var Me=Bn(xt);var ti={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt},ei=(o=ti,t,e)=>{let{kind:s,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(e.name,o),s==="accessor"){let{name:l}=e;return{set(A){let p=t.get.call(this);t.set.call(this,A),this.requestUpdate(l,p,o)},init(A){return A!==void 0&&this.P(l,void 0,o),A}}}if(s==="setter"){let{name:l}=e;return function(A){let p=this[l];t.call(this,A),this.requestUpdate(l,p,o)}}throw Error("Unsupported decorator location: "+s)};function z(o){return(t,e)=>typeof e=="object"?ei(o,t,e):((s,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,l?{...s,wrapped:!0}:s),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var Wn=Fs(Gn());function Zt(o,t){let e=document.createElement(o);for(let[s,i]of Object.entries(t)){let r=s.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Z=class extends X{createRenderRoot(){return this}};function xe({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function jn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){xe({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var ni=(0,Wn.default)();ni.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o.getAttribute("type")==="application/json"&&o.getAttribute("data-for")!==null;t.allowedTags.script=e}});var Ne="shiny-chat-message",qn="shiny-user-message",Oe="shiny-chat-messages",Yn="shiny-chat-input",si="shiny-chat-container",Vn={robot:'',dots_fade:''},it=class extends Z{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let s=this.content.trim().length===0?Vn.dots_fade:this.icon||Vn.robot;return ft` -
    ${Me(s)}
    +var Is=Object.create;var ye=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var Ps=Object.getOwnPropertyNames;var Us=Object.getPrototypeOf,ks=Object.prototype.hasOwnProperty;var Hs=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var Fs=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ps(t))!ks.call(o,i)&&i!==e&&ye(o,i,{get:()=>t[i],enumerable:!(s=bn(t,i))||s.enumerable});return o};var zs=(o,t,e)=>(e=o!=null?Is(Us(o)):{},Fs(t||!o||!o.__esModule?ye(e,"default",{value:o,enumerable:!0}):e,o));var j=(o,t,e,s)=>{for(var i=s>1?void 0:s?bn(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(s?l(t,e,i):l(i))||i);return s&&i&&ye(t,e,i),i};var jn=Hs((Re,xe)=>{(function(o,t){typeof Re=="object"&&typeof xe<"u"?xe.exports=t():typeof define=="function"&&define.amd?define(t):(o=typeof globalThis<"u"?globalThis:o||self,o.DOMPurify=t())})(Re,function(){"use strict";let{entries:o,setPrototypeOf:t,isFrozen:e,getPrototypeOf:s,getOwnPropertyDescriptor:i}=Object,{freeze:r,seal:l,create:A}=Object,{apply:p,construct:y}=typeof Reflect<"u"&&Reflect;r||(r=function(u){return u}),l||(l=function(u){return u}),p||(p=function(u,_,g){return u.apply(_,g)}),y||(y=function(u,_){return new u(..._)});let T=U(Array.prototype.forEach),E=U(Array.prototype.pop),R=U(Array.prototype.push),P=U(String.prototype.toLowerCase),Y=U(String.prototype.toString),Ue=U(String.prototype.match),mt=U(String.prototype.replace),Xn=U(String.prototype.indexOf),Zn=U(String.prototype.trim),H=U(Object.prototype.hasOwnProperty),x=U(RegExp.prototype.test),gt=Jn(TypeError);function ke(m){return typeof m=="number"&&isNaN(m)}function U(m){return function(u){for(var _=arguments.length,g=new Array(_>1?_-1:0),M=1;M<_;M++)g[M-1]=arguments[M];return p(m,u,g)}}function Jn(m){return function(){for(var u=arguments.length,_=new Array(u),g=0;g2&&arguments[2]!==void 0?arguments[2]:P;t&&t(m,null);let g=u.length;for(;g--;){let M=u[g];if(typeof M=="string"){let B=_(M);B!==M&&(e(u)||(u[g]=B),M=B)}m[M]=!0}return m}function Qn(m){for(let u=0;u/gm),is=l(/\${[\w\W]*}/gm),os=l(/^data-[\-\w.\u00B7-\uFFFF]/),rs=l(/^aria-[\-\w]+$/),Ge=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),as=l(/^(?:\w+script|data):/i),ls=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),We=l(/^html$/i),cs=l(/^[a-z][.\w]*(-[.\w]+)+$/i);var je=Object.freeze({__proto__:null,MUSTACHE_EXPR:ns,ERB_EXPR:ss,TMPLIT_EXPR:is,DATA_ATTR:os,ARIA_ATTR:rs,IS_ALLOWED_URI:Ge,IS_SCRIPT_OR_DATA:as,ATTR_WHITESPACE:ls,DOCTYPE_NAME:We,CUSTOM_ELEMENT:cs});let Q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},us=function(){return typeof window>"u"?null:window},hs=function(u,_){if(typeof u!="object"||typeof u.createPolicy!="function")return null;let g=null,M="data-tt-policy-suffix";_&&_.hasAttribute(M)&&(g=_.getAttribute(M));let B="dompurify"+(g?"#"+g:"");try{return u.createPolicy(B,{createHTML(ot){return ot},createScriptURL(ot){return ot}})}catch{return console.warn("TrustedTypes policy "+B+" could not be created."),null}};function Ve(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:us(),u=h=>Ve(h);if(u.version="3.1.4",u.removed=[],!m||!m.document||m.document.nodeType!==Q.document)return u.isSupported=!1,u;let{document:_}=m,g=_,M=g.currentScript,{DocumentFragment:B,HTMLTemplateElement:ot,Node:oe,Element:qe,NodeFilter:_t,NamedNodeMap:ds=m.NamedNodeMap||m.MozNamedAttrMap,HTMLFormElement:fs,DOMParser:ms,trustedTypes:It}=m,Pt=qe.prototype,gs=Ot(Pt,"cloneNode"),_s=Ot(Pt,"nextSibling"),Es=Ot(Pt,"childNodes"),Et=Ot(Pt,"parentNode");if(typeof ot=="function"){let h=_.createElement("template");h.content&&h.content.ownerDocument&&(_=h.content.ownerDocument)}let N,At="",{implementation:re,createNodeIterator:As,createDocumentFragment:ys,getElementsByTagName:Ts}=_,{importNode:vs}=g,F={};u.isSupported=typeof o=="function"&&typeof Et=="function"&&re&&re.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:ae,ERB_EXPR:le,TMPLIT_EXPR:ce,DATA_ATTR:Ss,ARIA_ATTR:bs,IS_SCRIPT_OR_DATA:Cs,ATTR_WHITESPACE:Ye,CUSTOM_ELEMENT:ws}=je,{IS_ALLOWED_URI:Ke}=je,b=null,Xe=f({},[...He,...ee,...ne,...se,...Fe]),C=null,Ze=f({},[...ze,...ie,...Be,...Dt]),v=Object.seal(A(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),yt=null,ue=null,Je=!0,he=!0,Qe=!1,tn=!0,rt=!1,pe=!0,tt=!1,de=!1,fe=!1,at=!1,Ut=!1,kt=!1,en=!0,nn=!1,$s="user-content-",me=!0,Tt=!1,lt={},ct=null,sn=f({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),on=null,rn=f({},["audio","video","img","source","image","track"]),ge=null,an=f({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ht="http://www.w3.org/1998/Math/MathML",Ft="http://www.w3.org/2000/svg",G="http://www.w3.org/1999/xhtml",ut=G,_e=!1,Ee=null,Ms=f({},[Ht,Ft,G],Y),vt=null,Ls=["application/xhtml+xml","text/html"],Rs="text/html",w=null,ht=null,ln=255,xs=_.createElement("form"),cn=function(n){return n instanceof RegExp||n instanceof Function},Ae=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ht&&ht===n)){if((!n||typeof n!="object")&&(n={}),n=J(n),vt=Ls.indexOf(n.PARSER_MEDIA_TYPE)===-1?Rs:n.PARSER_MEDIA_TYPE,w=vt==="application/xhtml+xml"?Y:P,b=H(n,"ALLOWED_TAGS")?f({},n.ALLOWED_TAGS,w):Xe,C=H(n,"ALLOWED_ATTR")?f({},n.ALLOWED_ATTR,w):Ze,Ee=H(n,"ALLOWED_NAMESPACES")?f({},n.ALLOWED_NAMESPACES,Y):Ms,ge=H(n,"ADD_URI_SAFE_ATTR")?f(J(an),n.ADD_URI_SAFE_ATTR,w):an,on=H(n,"ADD_DATA_URI_TAGS")?f(J(rn),n.ADD_DATA_URI_TAGS,w):rn,ct=H(n,"FORBID_CONTENTS")?f({},n.FORBID_CONTENTS,w):sn,yt=H(n,"FORBID_TAGS")?f({},n.FORBID_TAGS,w):{},ue=H(n,"FORBID_ATTR")?f({},n.FORBID_ATTR,w):{},lt=H(n,"USE_PROFILES")?n.USE_PROFILES:!1,Je=n.ALLOW_ARIA_ATTR!==!1,he=n.ALLOW_DATA_ATTR!==!1,Qe=n.ALLOW_UNKNOWN_PROTOCOLS||!1,tn=n.ALLOW_SELF_CLOSE_IN_ATTR!==!1,rt=n.SAFE_FOR_TEMPLATES||!1,pe=n.SAFE_FOR_XML!==!1,tt=n.WHOLE_DOCUMENT||!1,at=n.RETURN_DOM||!1,Ut=n.RETURN_DOM_FRAGMENT||!1,kt=n.RETURN_TRUSTED_TYPE||!1,fe=n.FORCE_BODY||!1,en=n.SANITIZE_DOM!==!1,nn=n.SANITIZE_NAMED_PROPS||!1,me=n.KEEP_CONTENT!==!1,Tt=n.IN_PLACE||!1,Ke=n.ALLOWED_URI_REGEXP||Ge,ut=n.NAMESPACE||G,v=n.CUSTOM_ELEMENT_HANDLING||{},n.CUSTOM_ELEMENT_HANDLING&&cn(n.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(v.tagNameCheck=n.CUSTOM_ELEMENT_HANDLING.tagNameCheck),n.CUSTOM_ELEMENT_HANDLING&&cn(n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(v.attributeNameCheck=n.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),n.CUSTOM_ELEMENT_HANDLING&&typeof n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(v.allowCustomizedBuiltInElements=n.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),rt&&(he=!1),Ut&&(at=!0),lt&&(b=f({},Fe),C=[],lt.html===!0&&(f(b,He),f(C,ze)),lt.svg===!0&&(f(b,ee),f(C,ie),f(C,Dt)),lt.svgFilters===!0&&(f(b,ne),f(C,ie),f(C,Dt)),lt.mathMl===!0&&(f(b,se),f(C,Be),f(C,Dt))),n.ADD_TAGS&&(b===Xe&&(b=J(b)),f(b,n.ADD_TAGS,w)),n.ADD_ATTR&&(C===Ze&&(C=J(C)),f(C,n.ADD_ATTR,w)),n.ADD_URI_SAFE_ATTR&&f(ge,n.ADD_URI_SAFE_ATTR,w),n.FORBID_CONTENTS&&(ct===sn&&(ct=J(ct)),f(ct,n.FORBID_CONTENTS,w)),me&&(b["#text"]=!0),tt&&f(b,["html","head","body"]),b.table&&(f(b,["tbody"]),delete yt.tbody),n.TRUSTED_TYPES_POLICY){if(typeof n.TRUSTED_TYPES_POLICY.createHTML!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof n.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw gt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=n.TRUSTED_TYPES_POLICY,At=N.createHTML("")}else N===void 0&&(N=hs(It,M)),N!==null&&typeof At=="string"&&(At=N.createHTML(""));r&&r(n),ht=n}},un=f({},["mi","mo","mn","ms","mtext"]),hn=f({},["foreignobject","annotation-xml"]),Ns=f({},["title","style","font","a","script"]),pn=f({},[...ee,...ne,...ts]),dn=f({},[...se,...es]),Os=function(n){let a=Et(n);(!a||!a.tagName)&&(a={namespaceURI:ut,tagName:"template"});let c=P(n.tagName),d=P(a.tagName);return Ee[n.namespaceURI]?n.namespaceURI===Ft?a.namespaceURI===G?c==="svg":a.namespaceURI===Ht?c==="svg"&&(d==="annotation-xml"||un[d]):!!pn[c]:n.namespaceURI===Ht?a.namespaceURI===G?c==="math":a.namespaceURI===Ft?c==="math"&&hn[d]:!!dn[c]:n.namespaceURI===G?a.namespaceURI===Ft&&!hn[d]||a.namespaceURI===Ht&&!un[d]?!1:!dn[c]&&(Ns[c]||!pn[c]):!!(vt==="application/xhtml+xml"&&Ee[n.namespaceURI]):!1},k=function(n){R(u.removed,{element:n});try{n.parentNode.removeChild(n)}catch{n.remove()}},zt=function(n,a){try{R(u.removed,{attribute:a.getAttributeNode(n),from:a})}catch{R(u.removed,{attribute:null,from:a})}if(a.removeAttribute(n),n==="is"&&!C[n])if(at||Ut)try{k(a)}catch{}else try{a.setAttribute(n,"")}catch{}},fn=function(n){let a=null,c=null;if(fe)n=""+n;else{let $=Ue(n,/^[\r\n\t ]+/);c=$&&$[0]}vt==="application/xhtml+xml"&&ut===G&&(n=''+n+"");let d=N?N.createHTML(n):n;if(ut===G)try{a=new ms().parseFromString(d,vt)}catch{}if(!a||!a.documentElement){a=re.createDocument(ut,"template",null);try{a.documentElement.innerHTML=_e?At:d}catch{}}let L=a.body||a.documentElement;return n&&c&&L.insertBefore(_.createTextNode(c),L.childNodes[0]||null),ut===G?Ts.call(a,tt?"html":"body")[0]:tt?a.documentElement:L},mn=function(n){return As.call(n.ownerDocument||n,n,_t.SHOW_ELEMENT|_t.SHOW_COMMENT|_t.SHOW_TEXT|_t.SHOW_PROCESSING_INSTRUCTION|_t.SHOW_CDATA_SECTION,null)},gn=function(n){return n instanceof fs&&(typeof n.__depth<"u"&&typeof n.__depth!="number"||typeof n.__removalCount<"u"&&typeof n.__removalCount!="number"||typeof n.nodeName!="string"||typeof n.textContent!="string"||typeof n.removeChild!="function"||!(n.attributes instanceof ds)||typeof n.removeAttribute!="function"||typeof n.setAttribute!="function"||typeof n.namespaceURI!="string"||typeof n.insertBefore!="function"||typeof n.hasChildNodes!="function")},_n=function(n){return typeof oe=="function"&&n instanceof oe},W=function(n,a,c){F[n]&&T(F[n],d=>{d.call(u,a,c,ht)})},En=function(n){let a=null;if(W("beforeSanitizeElements",n,null),gn(n))return k(n),!0;let c=w(n.nodeName);if(W("uponSanitizeElement",n,{tagName:c,allowedTags:b}),n.hasChildNodes()&&!_n(n.firstElementChild)&&x(/<[/\w]/g,n.innerHTML)&&x(/<[/\w]/g,n.textContent)||n.nodeType===Q.progressingInstruction||pe&&n.nodeType===Q.comment&&x(/<[/\w]/g,n.data))return k(n),!0;if(!b[c]||yt[c]){if(!yt[c]&&yn(c)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c)))return!1;if(me&&!ct[c]){let d=Et(n)||n.parentNode,L=Es(n)||n.childNodes;if(L&&d){let $=L.length;for(let D=$-1;D>=0;--D){let I=gs(L[D],!0);I.__removalCount=(n.__removalCount||0)+1,d.insertBefore(I,_s(n))}}}return k(n),!0}return n instanceof qe&&!Os(n)||(c==="noscript"||c==="noembed"||c==="noframes")&&x(/<\/no(script|embed|frames)/i,n.innerHTML)?(k(n),!0):(rt&&n.nodeType===Q.text&&(a=n.textContent,T([ae,le,ce],d=>{a=mt(a,d," ")}),n.textContent!==a&&(R(u.removed,{element:n.cloneNode()}),n.textContent=a)),W("afterSanitizeElements",n,null),!1)},An=function(n,a,c){if(en&&(a==="id"||a==="name")&&(c in _||c in xs||c==="__depth"||c==="__removalCount"))return!1;if(!(he&&!ue[a]&&x(Ss,a))){if(!(Je&&x(bs,a))){if(!C[a]||ue[a]){if(!(yn(n)&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,n)||v.tagNameCheck instanceof Function&&v.tagNameCheck(n))&&(v.attributeNameCheck instanceof RegExp&&x(v.attributeNameCheck,a)||v.attributeNameCheck instanceof Function&&v.attributeNameCheck(a))||a==="is"&&v.allowCustomizedBuiltInElements&&(v.tagNameCheck instanceof RegExp&&x(v.tagNameCheck,c)||v.tagNameCheck instanceof Function&&v.tagNameCheck(c))))return!1}else if(!ge[a]){if(!x(Ke,mt(c,Ye,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&n!=="script"&&Xn(c,"data:")===0&&on[n])){if(!(Qe&&!x(Cs,mt(c,Ye,"")))){if(c)return!1}}}}}}return!0},yn=function(n){return n!=="annotation-xml"&&Ue(n,ws)},Tn=function(n){W("beforeSanitizeAttributes",n,null);let{attributes:a}=n;if(!a)return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C},d=a.length;for(;d--;){let L=a[d],{name:$,namespaceURI:D,value:I}=L,St=w($),O=$==="value"?I:Zn(I);if(c.attrName=St,c.attrValue=O,c.keepAttr=!0,c.forceKeepAttr=void 0,W("uponSanitizeAttribute",n,c),O=c.attrValue,c.forceKeepAttr||(zt($,n),!c.keepAttr))continue;if(!tn&&x(/\/>/i,O)){zt($,n);continue}if(pe&&x(/((--!?|])>)|<\/(style|title)/i,O)){zt($,n);continue}rt&&T([ae,le,ce],Sn=>{O=mt(O,Sn," ")});let vn=w(n.nodeName);if(An(vn,St,O)){if(nn&&(St==="id"||St==="name")&&(zt($,n),O=$s+O),N&&typeof It=="object"&&typeof It.getAttributeType=="function"&&!D)switch(It.getAttributeType(vn,St)){case"TrustedHTML":{O=N.createHTML(O);break}case"TrustedScriptURL":{O=N.createScriptURL(O);break}}try{D?n.setAttributeNS(D,$,O):n.setAttribute($,O),gn(n)?k(n):E(u.removed)}catch{}}}W("afterSanitizeAttributes",n,null)},Ds=function h(n){let a=null,c=mn(n);for(W("beforeSanitizeShadowDOM",n,null);a=c.nextNode();){if(W("uponSanitizeShadowNode",a,null),En(a))continue;let d=Et(a);a.nodeType===Q.element&&(d&&d.__depth?a.__depth=(a.__removalCount||0)+d.__depth+1:a.__depth=1),(a.__depth>=ln||a.__depth<0||ke(a.__depth))&&k(a),a.content instanceof B&&(a.content.__depth=a.__depth,h(a.content)),Tn(a)}W("afterSanitizeShadowDOM",n,null)};return u.sanitize=function(h){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,d=null,L=null;if(_e=!h,_e&&(h=""),typeof h!="string"&&!_n(h))if(typeof h.toString=="function"){if(h=h.toString(),typeof h!="string")throw gt("dirty is not a string, aborting")}else throw gt("toString is not a function");if(!u.isSupported)return h;if(de||Ae(n),u.removed=[],typeof h=="string"&&(Tt=!1),Tt){if(h.nodeName){let I=w(h.nodeName);if(!b[I]||yt[I])throw gt("root node is forbidden and cannot be sanitized in-place")}}else if(h instanceof oe)a=fn(""),c=a.ownerDocument.importNode(h,!0),c.nodeType===Q.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!at&&!rt&&!tt&&h.indexOf("<")===-1)return N&&kt?N.createHTML(h):h;if(a=fn(h),!a)return at?null:kt?At:""}a&&fe&&k(a.firstChild);let $=mn(Tt?h:a);for(;d=$.nextNode();){if(En(d))continue;let I=Et(d);d.nodeType===Q.element&&(I&&I.__depth?d.__depth=(d.__removalCount||0)+I.__depth+1:d.__depth=1),(d.__depth>=ln||d.__depth<0||ke(d.__depth))&&k(d),d.content instanceof B&&(d.content.__depth=d.__depth,Ds(d.content)),Tn(d)}if(Tt)return h;if(at){if(Ut)for(L=ys.call(a.ownerDocument);a.firstChild;)L.appendChild(a.firstChild);else L=a;return(C.shadowroot||C.shadowrootmode)&&(L=vs.call(g,L,!0)),L}let D=tt?a.outerHTML:a.innerHTML;return tt&&b["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&x(We,a.ownerDocument.doctype.name)&&(D=" +`+D),rt&&T([ae,le,ce],I=>{D=mt(D,I," ")}),N&&kt?N.createHTML(D):D},u.setConfig=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ae(h),de=!0},u.clearConfig=function(){ht=null,de=!1},u.isValidAttribute=function(h,n,a){ht||Ae({});let c=w(h),d=w(n);return An(c,d,a)},u.addHook=function(h,n){typeof n=="function"&&(F[h]=F[h]||[],R(F[h],n))},u.removeHook=function(h){if(F[h])return E(F[h])},u.removeHooks=function(h){F[h]&&(F[h]=[])},u.removeAllHooks=function(){F={}},u}var ps=Ve();return ps})});var Bt=globalThis,Wt=Bt.ShadowRoot&&(Bt.ShadyCSS===void 0||Bt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,wn=Symbol(),Cn=new WeakMap,Gt=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==wn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Wt&&t===void 0){let s=e!==void 0&&e.length===1;s&&(t=Cn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&Cn.set(e,t))}return t}toString(){return this.cssText}},$n=o=>new Gt(typeof o=="string"?o:o+"",void 0,wn);var Te=(o,t)=>{if(Wt)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let s=document.createElement("style"),i=Bt.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,o.appendChild(s)}},jt=Wt?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let s of t.cssRules)e+=s.cssText;return $n(e)})(o):o;var{is:Bs,defineProperty:Gs,getOwnPropertyDescriptor:Ws,getOwnPropertyNames:js,getOwnPropertySymbols:Vs,getPrototypeOf:qs}=Object,Vt=globalThis,Mn=Vt.trustedTypes,Ys=Mn?Mn.emptyScript:"",Ks=Vt.reactiveElementPolyfillSupport,bt=(o,t)=>o,Ct={toAttribute(o,t){switch(t){case Boolean:o=o?Ys:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},qt=(o,t)=>!Bs(o,t),Ln={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt};Symbol.metadata??=Symbol("metadata"),Vt.litPropertyMetadata??=new WeakMap;var V=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Ln){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){let s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&Gs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){let{get:i,set:r}=Ws(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get(){return i?.call(this)},set(l){let A=i?.call(this);r.call(this,l),this.requestUpdate(t,A,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Ln}static _$Ei(){if(this.hasOwnProperty(bt("elementProperties")))return;let t=qs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(bt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(bt("properties"))){let e=this.properties,s=[...js(e),...Vs(e)];for(let i of s)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(let[e,s]of this.elementProperties){let i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let s=new Set(t.flat(1/0).reverse());for(let i of s)e.unshift(jt(i))}else t!==void 0&&e.push(jt(t));return e}static _$Eu(t,e){let s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Te(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$EC(t,e){let s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){let r=(s.converter?.toAttribute!==void 0?s.converter:Ct).toAttribute(e,s.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=s.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:Ct;this._$Em=i,this[i]=l.fromAttribute(e,r.type),this._$Em=null}}requestUpdate(t,e,s){if(t!==void 0){if(s??=this.constructor.getPropertyOptions(t),!(s.hasChanged??qt)(this[t],e))return;this.P(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,s){this._$AL.has(t)||this._$AL.set(t,e),s.reflect===!0&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[i,r]of s)r.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.P(i,this[i],r)}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach(e=>this._$EC(e,this[e])),this._$EU()}updated(t){}firstUpdated(t){}};V.elementStyles=[],V.shadowRootOptions={mode:"open"},V[bt("elementProperties")]=new Map,V[bt("finalized")]=new Map,Ks?.({ReactiveElement:V}),(Vt.reactiveElementVersions??=[]).push("2.0.4");var Me=globalThis,Yt=Me.trustedTypes,Rn=Yt?Yt.createPolicy("lit-html",{createHTML:o=>o}):void 0,Pn="$lit$",K=`lit$${Math.random().toFixed(9).slice(2)}$`,Un="?"+K,Xs=`<${Un}>`,st=document,$t=()=>st.createComment(""),Mt=o=>o===null||typeof o!="object"&&typeof o!="function",kn=Array.isArray,Zs=o=>kn(o)||typeof o?.[Symbol.iterator]=="function",ve=`[ +\f\r]`,wt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,xn=/-->/g,Nn=/>/g,et=RegExp(`>|${ve}(?:([^\\s"'>=/]+)(${ve}*=${ve}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),On=/'/g,Dn=/"/g,Hn=/^(?:script|style|textarea|title)$/i,Fn=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ft=Fn(1),ui=Fn(2),q=Symbol.for("lit-noChange"),S=Symbol.for("lit-nothing"),In=new WeakMap,nt=st.createTreeWalker(st,129);function zn(o,t){if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Rn!==void 0?Rn.createHTML(t):t}var Js=(o,t)=>{let e=o.length-1,s=[],i,r=t===2?"":"",l=wt;for(let A=0;A"?(l=i??wt,E=-1):T[1]===void 0?E=-2:(E=l.lastIndex-T[2].length,y=T[1],l=T[3]===void 0?et:T[3]==='"'?Dn:On):l===Dn||l===On?l=et:l===xn||l===Nn?l=wt:(l=et,i=void 0);let P=l===et&&o[A+1].startsWith("/>")?" ":"";r+=l===wt?p+Xs:E>=0?(s.push(y),p.slice(0,E)+Pn+p.slice(E)+K+P):p+K+(E===-2?A:P)}return[zn(o,r+(o[e]||"")+(t===2?"":"")),s]},Lt=class o{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,l=0,A=t.length-1,p=this.parts,[y,T]=Js(t,e);if(this.el=o.createElement(y,s),nt.currentNode=this.el.content,e===2){let E=this.el.content.firstChild;E.replaceWith(...E.childNodes)}for(;(i=nt.nextNode())!==null&&p.length0){i.textContent=Yt?Yt.emptyScript:"";for(let P=0;P2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=S}_$AI(t,e=this,s,i){let r=this.strings,l=!1;if(r===void 0)t=pt(this,t,e,0),l=!Mt(t)||t!==this._$AH&&t!==q,l&&(this._$AH=t);else{let A=t,p,y;for(t=r[0],p=0;p{let s=e?.renderBefore??t,i=s._$litPart$;if(i===void 0){let r=e?.renderBefore??null;s._$litPart$=i=new Rt(t.insertBefore($t(),r),r,void 0,e??{})}return i._$AI(o),i};var X=class extends V{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Bn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}};X._$litElement$=!0,X["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:X});var ti=globalThis.litElementPolyfillSupport;ti?.({LitElement:X});(globalThis.litElementVersions??=[]).push("4.0.5");var Gn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Wn=o=>(...t)=>({_$litDirective$:o,values:t}),Kt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,s){this._$Ct=t,this._$AM=e,this._$Ci=s}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var xt=class extends Kt{constructor(t){if(super(t),this.it=S,t.type!==Gn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===S||t==null)return this._t=void 0,this.it=t;if(t===q)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};xt.directiveName="unsafeHTML",xt.resultType=1;var Le=Wn(xt);var ei={attribute:!0,type:String,converter:Ct,reflect:!1,hasChanged:qt},ni=(o=ei,t,e)=>{let{kind:s,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),r.set(e.name,o),s==="accessor"){let{name:l}=e;return{set(A){let p=t.get.call(this);t.set.call(this,A),this.requestUpdate(l,p,o)},init(A){return A!==void 0&&this.P(l,void 0,o),A}}}if(s==="setter"){let{name:l}=e;return function(A){let p=this[l];t.call(this,A),this.requestUpdate(l,p,o)}}throw Error("Unsupported decorator location: "+s)};function z(o){return(t,e)=>typeof e=="object"?ni(o,t,e):((s,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,l?{...s,wrapped:!0}:s),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var Vn=zs(jn());function Zt(o,t){let e=document.createElement(o);for(let[s,i]of Object.entries(t)){let r=s.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Z=class extends X{createRenderRoot(){return this}};function Ne({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function qn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){Ne({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var si=(0,Vn.default)();si.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o.getAttribute("type")==="application/json"&&o.getAttribute("data-for")!==null;t.allowedTags.script=e}});var te="shiny-chat-message",Oe="shiny-user-message",De="shiny-chat-messages",Ie="shiny-chat-input",Yn="shiny-chat-container",Kn={robot:'',dots_fade:''},it=class extends Z{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let s=this.content.trim().length===0?Kn.dots_fade:this.icon||Kn.robot;return ft` +
    ${Le(s)}
    - `}};j([z()],Jt.prototype,"content",2);var De=class extends Z{render(){return ft``}},Nt=class extends Z{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(e){let s=this._disabled;e!==s&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",s),this.#t())}attributeChangedCallback(e,s,i){super.attributeChangedCallback(e,s,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let e='';return ft` + `}};j([z()],Jt.prototype,"content",2);var Pe=class extends Z{render(){return ft``}},Nt=class extends Z{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(e){let s=this._disabled;e!==s&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",s),this.#t())}attributeChangedCallback(e,s,i){super.attributeChangedCallback(e,s,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let e='';return ft` \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], - "mappings": "i4BAAA,GAAM,CACJA,QAAAA,EACAC,eAAAA,EACAC,SAAAA,EACAC,eAAAA,EACAC,yBAAAA,CACF,EAAIC,OAEA,CAAEC,OAAAA,EAAQC,KAAAA,EAAMC,OAAAA,CAAO,EAAIH,OAC3B,CAAEI,MAAAA,EAAOC,UAAAA,CAAU,EAAI,OAAOC,QAAY,KAAeA,QAExDL,IACHA,EAAS,SAAUM,EAAG,CACpB,OAAOA,IAINL,IACHA,EAAO,SAAUK,EAAG,CAClB,OAAOA,IAINH,IACHA,EAAQ,SAAUI,EAAKC,EAAWC,EAAM,CACtC,OAAOF,EAAIJ,MAAMK,EAAWC,CAAI,IAI/BL,IACHA,EAAY,SAAUM,EAAMD,EAAM,CAChC,OAAO,IAAIC,EAAK,GAAGD,CAAI,IAI3B,IAAME,EAAeC,EAAQC,MAAMC,UAAUC,OAAO,EAE9CC,EAAWJ,EAAQC,MAAMC,UAAUG,GAAG,EACtCC,EAAYN,EAAQC,MAAMC,UAAUK,IAAI,EAGxCC,EAAoBR,EAAQS,OAAOP,UAAUQ,WAAW,EACxDC,EAAiBX,EAAQS,OAAOP,UAAUU,QAAQ,EAClDC,GAAcb,EAAQS,OAAOP,UAAUY,KAAK,EAC5CC,GAAgBf,EAAQS,OAAOP,UAAUc,OAAO,EAChDC,GAAgBjB,EAAQS,OAAOP,UAAUgB,OAAO,EAChDC,GAAanB,EAAQS,OAAOP,UAAUkB,IAAI,EAE1CC,EAAuBrB,EAAQb,OAAOe,UAAUoB,cAAc,EAE9DC,EAAavB,EAAQwB,OAAOtB,UAAUuB,IAAI,EAE1CC,GAAkBC,GAAYC,SAAS,EAEtC,SAASC,GAAYnC,EAAG,CAE7B,OAAO,OAAOA,GAAM,UAAYoC,MAAMpC,CAAC,CACzC,CAQA,SAASM,EAAQ+B,EAAM,CACrB,OAAO,SAACC,EAAO,CAAA,QAAAC,EAAAC,UAAAC,OAAKtC,EAAI,IAAAI,MAAAgC,EAAAA,EAAAA,EAAA,EAAA,CAAA,EAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAJvC,EAAIuC,EAAAF,CAAAA,EAAAA,UAAAE,CAAA,EAAA,OAAK7C,EAAMwC,EAAMC,EAASnC,CAAI,CAAC,CACzD,CAQA,SAAS8B,GAAYI,EAAM,CACzB,OAAO,UAAA,CAAA,QAAAM,EAAAH,UAAAC,OAAItC,EAAII,IAAAA,MAAAoC,CAAA,EAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJzC,EAAIyC,CAAA,EAAAJ,UAAAI,CAAA,EAAA,OAAK9C,EAAUuC,EAAMlC,CAAI,CAAC,CAC3C,CAUA,SAAS0C,EAASC,EAAKC,EAA8C,CAAA,IAAvCC,EAAiBR,UAAAC,OAAA,GAAAD,UAAA,CAAA,IAAAS,OAAAT,UAAA,CAAA,EAAG1B,EAC5CzB,GAIFA,EAAeyD,EAAK,IAAI,EAG1B,IAAII,EAAIH,EAAMN,OACd,KAAOS,KAAK,CACV,IAAIC,EAAUJ,EAAMG,CAAC,EACrB,GAAI,OAAOC,GAAY,SAAU,CAC/B,IAAMC,EAAYJ,EAAkBG,CAAO,EACvCC,IAAcD,IAEX7D,EAASyD,CAAK,IACjBA,EAAMG,CAAC,EAAIE,GAGbD,EAAUC,EAEd,CAEAN,EAAIK,CAAO,EAAI,EACjB,CAEA,OAAOL,CACT,CAQA,SAASO,GAAWN,EAAO,CACzB,QAASO,EAAQ,EAAGA,EAAQP,EAAMN,OAAQa,IAChB3B,EAAqBoB,EAAOO,CAAK,IAGvDP,EAAMO,CAAK,EAAI,MAInB,OAAOP,CACT,CAQA,SAASQ,EAAMC,EAAQ,CACrB,IAAMC,EAAY7D,EAAO,IAAI,EAE7B,OAAW,CAAC8D,EAAUC,CAAK,IAAKvE,EAAQoE,CAAM,EACpB7B,EAAqB6B,EAAQE,CAAQ,IAGvDnD,MAAMqD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBpE,OAEtBgE,EAAUC,CAAQ,EAAIH,EAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GAAaN,EAAQO,EAAM,CAClC,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAOxE,EAAyBgE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO3D,EAAQ0D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOrD,EAAQ0D,EAAKL,KAAK,CAE7B,CAEAH,EAASjE,EAAeiE,CAAM,CAChC,CAEA,SAASU,GAAgB,CACvB,OAAO,IACT,CAEA,OAAOA,CACT,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,GAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,GAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,GAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,GAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,GAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,GAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,GAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,GAAgBhF,EAAK,2BAA2B,EAChDiF,GAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAA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", + "sourcesContent": ["const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function numberIsNaN(x) {\n // eslint-disable-next-line unicorn/prefer-number-properties\n return typeof x === 'number' && isNaN(x);\n}\n\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param {Function} func - The function to be wrapped and called.\n * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param {Function} func - The constructor function to be wrapped and called.\n * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/**\n * Add properties to a lookup table\n *\n * @param {Object} set - The set to which elements will be added.\n * @param {Array} array - The array containing elements to be added to the set.\n * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns {Object} The modified set with added elements.\n */\nfunction addToSet(set, array, transformCaseFunc = stringToLowerCase) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/**\n * Clean up an array to harden against CSPP\n *\n * @param {Array} array - The array to be cleaned.\n * @returns {Array} The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n\n return array;\n}\n\n/**\n * Shallow clone an object\n *\n * @param {Object} object - The object to be cloned.\n * @returns {Object} A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (\n value &&\n typeof value === 'object' &&\n value.constructor === Object\n ) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n\n return newObject;\n}\n\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param {Object} object - The object to look up the getter function in its prototype chain.\n * @param {String} prop - The property name for which to find the getter function.\n * @returns {Function} The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue() {\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n entries,\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n isFrozen,\n setPrototypeOf,\n seal,\n clone,\n create,\n objectHasOwnProperty,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n addToSet,\n // Reflect\n unapply,\n unconstruct,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n 'mprescripts',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'popover',\n 'popovertarget',\n 'popovertargetaction',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'wrap',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n", "import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n entries,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n numberIsNaN,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n create,\n objectHasOwnProperty,\n} from './utils.js';\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5, // Deprecated\n entityNode: 6, // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12, // Deprecated\n};\n\nconst getGlobal = function () {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, purifyHostElement) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (\n !window ||\n !window.document ||\n window.document.nodeType !== NODE_TYPE.document\n ) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n let { document } = window;\n\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n let trustedTypesPolicy;\n let emptyHTML = '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof entries === 'function' &&\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Specify the maximum element nesting depth to prevent mXSS */\n const MAX_NESTING_DEPTH = 255;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg = {}) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? DEFAULT_PARSER_MEDIA_TYPE\n : cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS')\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR')\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES')\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR')\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS')\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS')\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS')\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR')\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES')\n ? cfg.USE_PROFILES\n : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || EXPRESSIONS.IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, TAGS.text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.'\n );\n }\n\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate(\n 'TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.'\n );\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n currentScript\n );\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.svgDisallowed,\n ]);\n const ALL_MATHML_TAGS = addToSet({}, [\n ...TAGS.mathMl,\n ...TAGS.mathMlDisallowed,\n ]);\n\n /**\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param {Node} root The root element or node to start traversing on.\n * @return {NodeIterator} The created NodeIterator\n */\n const _createNodeIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n // eslint-disable-next-line unicorn/no-typeof-undefined\n ((typeof elm.__depth !== 'undefined' &&\n typeof elm.__depth !== 'number') ||\n // eslint-disable-next-line unicorn/no-typeof-undefined\n (typeof elm.__removalCount !== 'undefined' &&\n typeof elm.__removalCount !== 'number') ||\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param {Node} object object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'function' && object instanceof Node;\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content = null;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any ocurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any kind of possibly harmful comments */\n if (\n SAFE_FOR_XML &&\n currentNode.nodeType === NODE_TYPE.comment &&\n regExpTest(/<[/\\w]/g, currentNode.data)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n ) {\n return false;\n }\n\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n ) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if (\n (tagName === 'noscript' ||\n tagName === 'noembed' ||\n tagName === 'noframes') &&\n regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n content = stringReplace(content, expr, ' ');\n });\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document ||\n value in formElement ||\n value === '__depth' ||\n value === '__removalCount')\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_isBasicCustomElement(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n } else if (value) {\n return false;\n } else {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n }\n\n return true;\n };\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param {string} tagName name of the tag of the node to sanitize\n * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function (tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const { name, namespaceURI, value: attrValue } = attr;\n const lcName = transformCaseFunc(name);\n\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML': {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n\n case 'TrustedScriptURL': {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n const parentNode = getParentNode(shadowNode);\n\n /* Set the nesting depth of an element */\n if (shadowNode.nodeType === NODE_TYPE.element) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n shadowNode.__depth =\n (shadowNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n shadowNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n shadowNode.__depth >= MAX_NESTING_DEPTH ||\n shadowNode.__depth < 0 ||\n numberIsNaN(shadowNode.__depth)\n ) {\n _forceRemove(shadowNode);\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n shadowNode.content.__depth = shadowNode.__depth;\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} cfg object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (\n importedNode.nodeType === NODE_TYPE.element &&\n importedNode.nodeName === 'BODY'\n ) {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n const parentNode = getParentNode(currentNode);\n\n /* Set the nesting depth of an element */\n if (currentNode.nodeType === NODE_TYPE.element) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n currentNode.__depth =\n (currentNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n currentNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n currentNode.__depth >= MAX_NESTING_DEPTH ||\n currentNode.__depth < 0 ||\n numberIsNaN(currentNode.__depth)\n ) {\n _forceRemove(currentNode);\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n currentNode.content.__depth = currentNode.__depth;\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], (expr) => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg = {}) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {String} tag Tag name of containing element.\n * @param {String} attr Attribute name.\n * @param {String} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n", "/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

    (\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n

    ${unsafeHTML(icon)}
    \n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGE_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n}\nif (!customElements.get(CHAT_USER_MESSAGE_TAG)) {\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n}\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n}\nif (!customElements.get(CHAT_INPUT_TAG)) {\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n}\nif (!customElements.get(CHAT_CONTAINER_TAG)) {\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], + "mappings": "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B,CAEAH,EAASjE,EAAeiE,CAAM,CAChC,CAEA,SAASU,GAAgB,CACvB,OAAO,IACT,CAEA,OAAOA,CACT,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,GAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,GAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,GAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,GAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,GAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,GAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,GAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,GAAgBhF,EAAK,2BAA2B,EAChDiF,GAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAA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", "names": ["entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayPop", "pop", "arrayPush", "push", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "numberIsNaN", "isNaN", "func", "thisArg", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "undefined", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "createDOMPurify", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "Element", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "MAX_NESTING_DEPTH", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "parentNode", "removeChild", "remove", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "elm", "__depth", "__removalCount", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHook", "entryPoint", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "attr", "forceKeepAttr", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "import_dompurify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "DOMPurify", "node", "data", "isOK", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "entries", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "renderDependencies", "evt", "showShinyClientMessage"] } diff --git a/shiny/www/py-shiny/markdown-stream/markdown-stream.js b/shiny/www/py-shiny/markdown-stream/markdown-stream.js index 3bd62b913..f5e5030cf 100644 --- a/shiny/www/py-shiny/markdown-stream/markdown-stream.js +++ b/shiny/www/py-shiny/markdown-stream/markdown-stream.js @@ -1,10 +1,10 @@ -var Mo=Object.create;var Zn=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var Io=Object.getOwnPropertyNames;var Lo=Object.getPrototypeOf,Do=Object.prototype.hasOwnProperty;var W=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var $o=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Io(e))!Do.call(t,r)&&r!==n&&Zn(t,r,{get:()=>e[r],enumerable:!(i=or(e,r))||i.enumerable});return t};var Yn=(t,e,n)=>(n=t!=null?Mo(Lo(t)):{},$o(e||!t||!t.__esModule?Zn(n,"default",{value:t,enumerable:!0}):n,t));var me=(t,e,n,i)=>{for(var r=i>1?void 0:i?or(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&Zn(e,n,r),r};var xr=W((Gt,ii)=>{(function(e,n){typeof Gt=="object"&&typeof ii=="object"?ii.exports=n():typeof define=="function"&&define.amd?define([],n):typeof Gt=="object"?Gt.ClipboardJS=n():e.ClipboardJS=n()})(Gt,function(){return function(){var t={686:function(i,r,s){"use strict";s.d(r,{default:function(){return I}});var a=s(279),o=s.n(a),c=s(370),d=s.n(c),l=s(817),g=s.n(l);function p(y){try{return document.execCommand(y)}catch{return!1}}var f=function(_){var E=g()(_);return p("cut"),E},b=f;function S(y){var _=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[_?"right":"left"]="-9999px";var k=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(k,"px"),E.setAttribute("readonly",""),E.value=y,E}var A=function(_,E){var k=S(_);E.container.appendChild(k);var $=g()(k);return p("copy"),k.remove(),$},z=function(_){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},k="";return typeof _=="string"?k=A(_,E):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_?.type)?k=A(_.value,E):(k=g()(_),p("copy")),k},Y=z;function C(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(E){return typeof E}:C=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},C(y)}var M=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=_.action,k=E===void 0?"copy":E,$=_.container,D=_.target,ee=_.text;if(k!=="copy"&&k!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(D!==void 0)if(D&&C(D)==="object"&&D.nodeType===1){if(k==="copy"&&D.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(k==="cut"&&(D.hasAttribute("readonly")||D.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return Y(ee,{container:$});if(D)return k==="cut"?b(D):Y(D,{container:$})},Z=M;function G(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(E){return typeof E}:G=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},G(y)}function B(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")}function ne(y,_){for(var E=0;E<_.length;E++){var k=_[E];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(y,k.key,k)}}function v(y,_,E){return _&&ne(y.prototype,_),E&&ne(y,E),y}function le(y,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");y.prototype=Object.create(_&&_.prototype,{constructor:{value:y,writable:!0,configurable:!0}}),_&&re(y,_)}function re(y,_){return re=Object.setPrototypeOf||function(k,$){return k.__proto__=$,k},re(y,_)}function ue(y){var _=ae();return function(){var k=_e(y),$;if(_){var D=_e(this).constructor;$=Reflect.construct(k,arguments,D)}else $=k.apply(this,arguments);return se(this,$)}}function se(y,_){return _&&(G(_)==="object"||typeof _=="function")?_:te(y)}function te(y){if(y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y}function ae(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function _e(y){return _e=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},_e(y)}function h(y,_){var E="data-clipboard-".concat(y);if(_.hasAttribute(E))return _.getAttribute(E)}var T=function(y){le(E,y);var _=ue(E);function E(k,$){var D;return B(this,E),D=_.call(this),D.resolveOptions($),D.listenClick(k),D}return v(E,[{key:"resolveOptions",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof $.action=="function"?$.action:this.defaultAction,this.target=typeof $.target=="function"?$.target:this.defaultTarget,this.text=typeof $.text=="function"?$.text:this.defaultText,this.container=G($.container)==="object"?$.container:document.body}},{key:"listenClick",value:function($){var D=this;this.listener=d()($,"click",function(ee){return D.onClick(ee)})}},{key:"onClick",value:function($){var D=$.delegateTarget||$.currentTarget,ee=this.action(D)||"copy",Me=Z({action:ee,container:this.container,target:this.target(D),text:this.text(D)});this.emit(Me?"success":"error",{action:ee,text:Me,trigger:D,clearSelection:function(){D&&D.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function($){return h("action",$)}},{key:"defaultTarget",value:function($){var D=h("target",$);if(D)return document.querySelector(D)}},{key:"defaultText",value:function($){return h("text",$)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function($){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Y($,D)}},{key:"cut",value:function($){return b($)}},{key:"isSupported",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],D=typeof $=="string"?[$]:$,ee=!!document.queryCommandSupported;return D.forEach(function(Me){ee=ee&&!!document.queryCommandSupported(Me)}),ee}}]),E}(o()),I=T},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var s=Element.prototype;s.matches=s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector}function a(o,c){for(;o&&o.nodeType!==r;){if(typeof o.matches=="function"&&o.matches(c))return o;o=o.parentNode}}i.exports=a},438:function(i,r,s){var a=s(828);function o(l,g,p,f,b){var S=d.apply(this,arguments);return l.addEventListener(p,S,b),{destroy:function(){l.removeEventListener(p,S,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?o.apply(null,arguments):typeof p=="function"?o.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(S){return o(S,g,p,f,b)}))}function d(l,g,p,f){return function(b){b.delegateTarget=a(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(s){return s!==void 0&&s instanceof HTMLElement&&s.nodeType===1},r.nodeList=function(s){var a=Object.prototype.toString.call(s);return s!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in s&&(s.length===0||r.node(s[0]))},r.string=function(s){return typeof s=="string"||s instanceof String},r.fn=function(s){var a=Object.prototype.toString.call(s);return a==="[object Function]"}},370:function(i,r,s){var a=s(879),o=s(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!a.string(f))throw new TypeError("Second argument must be a String");if(!a.fn(b))throw new TypeError("Third argument must be a Function");if(a.node(p))return d(p,f,b);if(a.nodeList(p))return l(p,f,b);if(a.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function d(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(S){S.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(S){S.removeEventListener(f,b)})}}}function g(p,f,b){return o(document.body,p,f,b)}i.exports=c},817:function(i){function r(s){var a;if(s.nodeName==="SELECT")s.focus(),a=s.value;else if(s.nodeName==="INPUT"||s.nodeName==="TEXTAREA"){var o=s.hasAttribute("readonly");o||s.setAttribute("readonly",""),s.select(),s.setSelectionRange(0,s.value.length),o||s.removeAttribute("readonly"),a=s.value}else{s.hasAttribute("contenteditable")&&s.focus();var c=window.getSelection(),d=document.createRange();d.selectNodeContents(s),c.removeAllRanges(),c.addRange(d),a=c.toString()}return a}i.exports=r},279:function(i){function r(){}r.prototype={on:function(s,a,o){var c=this.e||(this.e={});return(c[s]||(c[s]=[])).push({fn:a,ctx:o}),this},once:function(s,a,o){var c=this;function d(){c.off(s,d),a.apply(o,arguments)}return d._=a,this.on(s,d,o)},emit:function(s){var a=[].slice.call(arguments,1),o=((this.e||(this.e={}))[s]||[]).slice(),c=0,d=o.length;for(c;c{function Dr(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Dr(n)}),t}var fn=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function $r(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ve(t,...e){let n=Object.create(null);for(let i in t)n[i]=t[i];return e.forEach(function(i){for(let r in i)n[r]=i[r]}),n}var Jo="
    ",Or=t=>!!t.scope,jo=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},si=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=$r(e)}openNode(e){if(!Or(e))return;let n=jo(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){Or(e)&&(this.buffer+=Jo)}value(){return this.buffer}span(e){this.buffer+=``}},Rr=(t={})=>{let e={children:[]};return Object.assign(e,t),e},ai=class t{constructor(){this.rootNode=Rr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let n=Rr({scope:e});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(i=>this._walk(e,i)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},oi=class extends ai{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let i=e.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new si(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Kt(t){return t?typeof t=="string"?t:t.source:null}function Pr(t){return rt("(?=",t,")")}function ec(t){return rt("(?:",t,")*")}function tc(t){return rt("(?:",t,")?")}function rt(...t){return t.map(n=>Kt(n)).join("")}function nc(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function li(...t){return"("+(nc(t).capture?"":"?:")+t.map(i=>Kt(i)).join("|")+")"}function Ur(t){return new RegExp(t.toString()+"|").exec("").length-1}function ic(t,e){let n=t&&t.exec(e);return n&&n.index===0}var rc=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ui(t,{joinWith:e}){let n=0;return t.map(i=>{n+=1;let r=n,s=Kt(i),a="";for(;s.length>0;){let o=rc.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(e)}var sc=/\b\B/,Br="[a-zA-Z]\\w*",di="[a-zA-Z_]\\w*",zr="\\b\\d+(\\.\\d+)?",Fr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Hr="\\b(0b[01]+)",ac="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",oc=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=rt(e,/.*\b/,t.binary,/\b.*/)),Ve({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},t)},qt={begin:"\\\\[\\s\\S]",relevance:0},cc={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qt]},lc={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qt]},uc={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/},mn=function(t,e,n={}){let i=Ve({scope:"comment",begin:t,end:e,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=li("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,}/);return i.contains.push({begin:rt(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},dc=mn("//","$"),pc=mn("/\\*","\\*/"),gc=mn("#","$"),fc={scope:"number",begin:zr,relevance:0},hc={scope:"number",begin:Fr,relevance:0},mc={scope:"number",begin:Hr,relevance:0},bc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qt,{begin:/\[/,end:/\]/,relevance:0,contains:[qt]}]},_c={scope:"title",begin:Br,relevance:0},Ec={scope:"title",begin:di,relevance:0},yc={begin:"\\.\\s*"+di,relevance:0},Tc=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},gn=Object.freeze({__proto__:null,APOS_STRING_MODE:cc,BACKSLASH_ESCAPE:qt,BINARY_NUMBER_MODE:mc,BINARY_NUMBER_RE:Hr,COMMENT:mn,C_BLOCK_COMMENT_MODE:pc,C_LINE_COMMENT_MODE:dc,C_NUMBER_MODE:hc,C_NUMBER_RE:Fr,END_SAME_AS_BEGIN:Tc,HASH_COMMENT_MODE:gc,IDENT_RE:Br,MATCH_NOTHING_RE:sc,METHOD_GUARD:yc,NUMBER_MODE:fc,NUMBER_RE:zr,PHRASAL_WORDS_MODE:uc,QUOTE_STRING_MODE:lc,REGEXP_MODE:bc,RE_STARTERS_RE:ac,SHEBANG:oc,TITLE_MODE:_c,UNDERSCORE_IDENT_RE:di,UNDERSCORE_TITLE_MODE:Ec});function wc(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function Sc(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function Nc(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=wc,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function Ac(t,e){Array.isArray(t.illegal)&&(t.illegal=li(...t.illegal))}function vc(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function kc(t,e){t.relevance===void 0&&(t.relevance=1)}var xc=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(i=>{delete t[i]}),t.keywords=n.keywords,t.begin=rt(n.beforeMatch,Pr(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},Oc=["of","and","for","in","not","or","if","then","parent","list","value"],Rc="keyword";function Gr(t,e,n=Rc){let i=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(s){Object.assign(i,Gr(t[s],e,s))}),i;function r(s,a){e&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){let c=o.split("|");i[c[0]]=[s,Cc(c[0],c[1])]})}}function Cc(t,e){return e?Number(e):Mc(t)?0:1}function Mc(t){return Oc.includes(t.toLowerCase())}var Cr={},it=t=>{console.error(t)},Mr=(t,...e)=>{console.log(`WARN: ${t}`,...e)},yt=(t,e)=>{Cr[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Cr[`${t}/${e}`]=!0)},hn=new Error;function Kr(t,e,{key:n}){let i=0,r=t[n],s={},a={};for(let o=1;o<=e.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=Ur(e[o-1]);t[n]=a,t[n]._emit=s,t[n]._multi=!0}function Ic(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw it("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),hn;if(typeof t.beginScope!="object"||t.beginScope===null)throw it("beginScope must be object"),hn;Kr(t,t.begin,{key:"beginScope"}),t.begin=ui(t.begin,{joinWith:""})}}function Lc(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw it("skip, excludeEnd, returnEnd not compatible with endScope: {}"),hn;if(typeof t.endScope!="object"||t.endScope===null)throw it("endScope must be object"),hn;Kr(t,t.end,{key:"endScope"}),t.end=ui(t.end,{joinWith:""})}}function Dc(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function $c(t){Dc(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),Ic(t),Lc(t)}function Pc(t){function e(a,o){return new RegExp(Kt(a),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=Ur(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let o=this.regexes.map(c=>c[1]);this.matcherRe=e(ui(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(o);if(!c)return null;let d=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[d];return c.splice(0,d),Object.assign(c,l)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];let c=new n;return this.rules.slice(o).forEach(([d,l])=>c.addRule(d,l)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let d=c.exec(o);if(this.resumingScanAtSamePosition()&&!(d&&d.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,d=l.exec(o)}return d&&(this.regexIndex+=d.position+1,this.regexIndex===this.count&&this.considerAll()),d}}function r(a){let o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){let c=a;if(a.isCompiled)return c;[Sc,vc,$c,xc].forEach(l=>l(a,o)),t.compilerExtensions.forEach(l=>l(a,o)),a.__beforeBegin=null,[Nc,Ac,kc].forEach(l=>l(a,o)),a.isCompiled=!0;let d=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),d=a.keywords.$pattern,delete a.keywords.$pattern),d=d||/\w+/,a.keywords&&(a.keywords=Gr(a.keywords,t.case_insensitive)),c.keywordPatternRe=e(d,!0),o&&(a.begin||(a.begin=/\B|\b/),c.beginRe=e(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=e(c.end)),c.terminatorEnd=Kt(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=e(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(l){return Uc(l==="self"?a:l)})),a.contains.forEach(function(l){s(l,c)}),a.starts&&s(a.starts,o),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Ve(t.classNameAliases||{}),s(t)}function qr(t){return t?t.endsWithParent||qr(t.starts):!1}function Uc(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Ve(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:qr(t)?Ve(t,{starts:t.starts?Ve(t.starts):null}):Object.isFrozen(t)?Ve(t):t}var Bc="11.9.0",ci=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},ri=$r,Ir=Ve,Lr=Symbol("nomatch"),zc=7,Wr=function(t){let e=Object.create(null),n=Object.create(null),i=[],r=!0,s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:oi};function c(h){return o.noHighlightRe.test(h)}function d(h){let T=h.className+" ";T+=h.parentNode?h.parentNode.className:"";let I=o.languageDetectRe.exec(T);if(I){let y=v(I[1]);return y||(Mr(s.replace("{}",I[1])),Mr("Falling back to no-highlight mode for this block.",h)),y?I[1]:"no-highlight"}return T.split(/\s+/).find(y=>c(y)||v(y))}function l(h,T,I){let y="",_="";typeof T=="object"?(y=h,I=T.ignoreIllegals,_=T.language):(yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),yt("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),_=h,y=T),I===void 0&&(I=!0);let E={code:y,language:_};ae("before:highlight",E);let k=E.result?E.result:g(E.language,E.code,I);return k.code=E.code,ae("after:highlight",k),k}function g(h,T,I,y){let _=Object.create(null);function E(w,O){return w.keywords[O]}function k(){if(!P.keywords){N.addText(R);return}let w=0;P.keywordPatternRe.lastIndex=0;let O=P.keywordPatternRe.exec(R),U="";for(;O;){U+=R.substring(w,O.index);let V=Se.case_insensitive?O[0].toLowerCase():O[0],de=E(P,V);if(de){let[Ie,ut]=de;if(N.addText(U),U="",_[V]=(_[V]||0)+1,_[V]<=zc&&(q+=ut),Ie.startsWith("_"))U+=O[0];else{let dt=Se.classNameAliases[Ie]||Ie;ee(O[0],dt)}}else U+=O[0];w=P.keywordPatternRe.lastIndex,O=P.keywordPatternRe.exec(R)}U+=R.substring(w),N.addText(U)}function $(){if(R==="")return;let w=null;if(typeof P.subLanguage=="string"){if(!e[P.subLanguage]){N.addText(R);return}w=g(P.subLanguage,R,!0,K[P.subLanguage]),K[P.subLanguage]=w._top}else w=f(R,P.subLanguage.length?P.subLanguage:null);P.relevance>0&&(q+=w.relevance),N.__addSublanguage(w._emitter,w.language)}function D(){P.subLanguage!=null?$():k(),R=""}function ee(w,O){w!==""&&(N.startScope(O),N.addText(w),N.endScope())}function Me(w,O){let U=1,V=O.length-1;for(;U<=V;){if(!w._emit[U]){U++;continue}let de=Se.classNameAliases[w[U]]||w[U],Ie=O[U];de?ee(Ie,de):(R=Ie,k(),R=""),U++}}function qe(w,O){return w.scope&&typeof w.scope=="string"&&N.openNode(Se.classNameAliases[w.scope]||w.scope),w.beginScope&&(w.beginScope._wrap?(ee(R,Se.classNameAliases[w.beginScope._wrap]||w.beginScope._wrap),R=""):w.beginScope._multi&&(Me(w.beginScope,O),R="")),P=Object.create(w,{parent:{value:P}}),P}function Qe(w,O,U){let V=ic(w.endRe,U);if(V){if(w["on:end"]){let de=new fn(w);w["on:end"](O,de),de.isMatchIgnored&&(V=!1)}if(V){for(;w.endsParent&&w.parent;)w=w.parent;return w}}if(w.endsWithParent)return Qe(w.parent,O,U)}function kt(w){return P.matcher.regexIndex===0?(R+=w[0],1):(Le=!0,0)}function xt(w){let O=w[0],U=w.rule,V=new fn(U),de=[U.__beforeBegin,U["on:begin"]];for(let Ie of de)if(Ie&&(Ie(w,V),V.isMatchIgnored))return kt(O);return U.skip?R+=O:(U.excludeBegin&&(R+=O),D(),!U.returnBegin&&!U.excludeBegin&&(R=O)),qe(U,w),U.returnBegin?0:O.length}function ct(w){let O=w[0],U=T.substring(w.index),V=Qe(P,w,U);if(!V)return Lr;let de=P;P.endScope&&P.endScope._wrap?(D(),ee(O,P.endScope._wrap)):P.endScope&&P.endScope._multi?(D(),Me(P.endScope,w)):de.skip?R+=O:(de.returnEnd||de.excludeEnd||(R+=O),D(),de.excludeEnd&&(R=O));do P.scope&&N.closeNode(),!P.skip&&!P.subLanguage&&(q+=P.relevance),P=P.parent;while(P!==V.parent);return V.starts&&qe(V.starts,w),de.returnEnd?0:O.length}function X(){let w=[];for(let O=P;O!==Se;O=O.parent)O.scope&&w.unshift(O.scope);w.forEach(O=>N.openNode(O))}let Oe={};function Ee(w,O){let U=O&&O[0];if(R+=w,U==null)return D(),0;if(Oe.type==="begin"&&O.type==="end"&&Oe.index===O.index&&U===""){if(R+=T.slice(O.index,O.index+1),!r){let V=new Error(`0 width match regex (${h})`);throw V.languageName=h,V.badRule=Oe.rule,V}return 1}if(Oe=O,O.type==="begin")return xt(O);if(O.type==="illegal"&&!I){let V=new Error('Illegal lexeme "'+U+'" for mode "'+(P.scope||"")+'"');throw V.mode=P,V}else if(O.type==="end"){let V=ct(O);if(V!==Lr)return V}if(O.type==="illegal"&&U==="")return 1;if(ke>1e5&&ke>O.index*3)throw new Error("potential infinite loop, way more iterations than matches");return R+=U,U.length}let Se=v(h);if(!Se)throw it(s.replace("{}",h)),new Error('Unknown language: "'+h+'"');let Mn=Pc(Se),lt="",P=y||Mn,K={},N=new o.__emitter(o);X();let R="",q=0,ie=0,ke=0,Le=!1;try{if(Se.__emitTokens)Se.__emitTokens(T,N);else{for(P.matcher.considerAll();;){ke++,Le?Le=!1:P.matcher.considerAll(),P.matcher.lastIndex=ie;let w=P.matcher.exec(T);if(!w)break;let O=T.substring(ie,w.index),U=Ee(O,w);ie=w.index+U}Ee(T.substring(ie))}return N.finalize(),lt=N.toHTML(),{language:h,value:lt,relevance:q,illegal:!1,_emitter:N,_top:P}}catch(w){if(w.message&&w.message.includes("Illegal"))return{language:h,value:ri(T),illegal:!0,relevance:0,_illegalBy:{message:w.message,index:ie,context:T.slice(ie-100,ie+100),mode:w.mode,resultSoFar:lt},_emitter:N};if(r)return{language:h,value:ri(T),illegal:!1,relevance:0,errorRaised:w,_emitter:N,_top:P};throw w}}function p(h){let T={value:ri(h),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return T._emitter.addText(h),T}function f(h,T){T=T||o.languages||Object.keys(e);let I=p(h),y=T.filter(v).filter(re).map(D=>g(D,h,!1));y.unshift(I);let _=y.sort((D,ee)=>{if(D.relevance!==ee.relevance)return ee.relevance-D.relevance;if(D.language&&ee.language){if(v(D.language).supersetOf===ee.language)return 1;if(v(ee.language).supersetOf===D.language)return-1}return 0}),[E,k]=_,$=E;return $.secondBest=k,$}function b(h,T,I){let y=T&&n[T]||I;h.classList.add("hljs"),h.classList.add(`language-${y}`)}function S(h){let T=null,I=d(h);if(c(I))return;if(ae("before:highlightElement",{el:h,language:I}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(h)),o.throwUnescapedHTML))throw new ci("One of your code blocks includes unescaped HTML.",h.innerHTML);T=h;let y=T.textContent,_=I?l(y,{language:I,ignoreIllegals:!0}):f(y);h.innerHTML=_.value,h.dataset.highlighted="yes",b(h,I,_.language),h.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(h.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),ae("after:highlightElement",{el:h,result:_,text:y})}function A(h){o=Ir(o,h)}let z=()=>{M(),yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Y(){M(),yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let C=!1;function M(){if(document.readyState==="loading"){C=!0;return}document.querySelectorAll(o.cssSelector).forEach(S)}function Z(){C&&M()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",Z,!1);function G(h,T){let I=null;try{I=T(t)}catch(y){if(it("Language definition for '{}' could not be registered.".replace("{}",h)),r)it(y);else throw y;I=a}I.name||(I.name=h),e[h]=I,I.rawDefinition=T.bind(null,t),I.aliases&&le(I.aliases,{languageName:h})}function B(h){delete e[h];for(let T of Object.keys(n))n[T]===h&&delete n[T]}function ne(){return Object.keys(e)}function v(h){return h=(h||"").toLowerCase(),e[h]||e[n[h]]}function le(h,{languageName:T}){typeof h=="string"&&(h=[h]),h.forEach(I=>{n[I.toLowerCase()]=T})}function re(h){let T=v(h);return T&&!T.disableAutodetect}function ue(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=T=>{h["before:highlightBlock"](Object.assign({block:T.el},T))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=T=>{h["after:highlightBlock"](Object.assign({block:T.el},T))})}function se(h){ue(h),i.push(h)}function te(h){let T=i.indexOf(h);T!==-1&&i.splice(T,1)}function ae(h,T){let I=h;i.forEach(function(y){y[I]&&y[I](T)})}function _e(h){return yt("10.7.0","highlightBlock will be removed entirely in v12.0"),yt("10.7.0","Please use highlightElement now."),S(h)}Object.assign(t,{highlight:l,highlightAuto:f,highlightAll:M,highlightElement:S,highlightBlock:_e,configure:A,initHighlighting:z,initHighlightingOnLoad:Y,registerLanguage:G,unregisterLanguage:B,listLanguages:ne,getLanguage:v,registerAliases:le,autoDetection:re,inherit:Ir,addPlugin:se,removePlugin:te}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=Bc,t.regex={concat:rt,lookahead:Pr,either:li,optional:tc,anyNumberOfTimes:ec};for(let h in gn)typeof gn[h]=="object"&&Dr(gn[h]);return Object.assign(t,gn),t},Tt=Wr({});Tt.newInstance=()=>Wr({});Zr.exports=Tt;Tt.HighlightJS=Tt;Tt.default=Tt});var Xr=W((Ld,Vr)=>{function Fc(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=t.inherit(s,{begin:/\(/,end:/\)/}),o=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,o]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:d}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Vr.exports=Fc});var Jr=W((Dd,Qr)=>{function Hc(t){let e=t.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(a);let o={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=t.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],S=["true","false"],A={match:/(\/[a-z._-]+)+/},z=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],Y=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],C=["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"],M=["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"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:S,built_in:[...z,...Y,"set","shopt",...C,...M]},contains:[p,t.SHEBANG(),f,l,t.HASH_COMMENT_MODE,s,A,a,o,c,d,n]}}Qr.exports=Hc});var es=W(($d,jr)=>{function Gc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",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"},z=[g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],Y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:z.concat([{begin:/\(/,end:/\)/,keywords:A,contains:z.concat(["self"]),relevance:0}]),relevance:0},C={begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:A,relevance:0},{begin:f,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:g,strings:d,keywords:A}}}jr.exports=Gc});var ns=W((Pd,ts)=>{function Kc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",b=["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"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","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"],z=["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"],M={type:S,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},Z={className:"function.dispatch",relevance:0,keywords:{_hint:z},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},G=[Z,g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],B={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:M,contains:G.concat([{begin:/\(/,end:/\)/,keywords:M,contains:G.concat(["self"]),relevance:0}]),relevance:0},ne={className:"function",begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:M,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:M,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:M,illegal:"",keywords:M,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:M},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}ts.exports=Kc});var rs=W((Ud,is)=>{function qc(t){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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"],s=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:e,literal:i},o=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},l=t.inherit(d,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=t.inherit(g,{illegal:/\n/}),f={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,p]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},S=t.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});g.contains=[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.C_BLOCK_COMMENT_MODE],p.contains=[S,f,l,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let A={variants:[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},z={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},Y=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Y+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,z],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[A,c,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},C]}}is.exports=qc});var as=W((Bd,ss)=>{var Wc=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Zc=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Yc=["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"],Vc=["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"],Xc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Qc=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Jc(t){let e=t.regex,n=Wc(t),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Vc.join("|")+")"},{begin:":(:)?("+Xc.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Yc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Zc.join("|")+")\\b"}]}}ss.exports=Jc});var cs=W((zd,os)=>{function jc(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},d={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=t.inherit(d,{contains:[]}),p=t.inherit(l,{contains:[]});d.contains.push(p),l.contains.push(g);let f=[n,c];return[d,l,g,p].forEach(A=>{A.contains=A.contains.concat(f)}),f=f.concat(d,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},n,s,d,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,a]}}os.exports=jc});var us=W((Fd,ls)=>{function el(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}ls.exports=el});var ps=W((Hd,ds)=>{function tl(t){let e=t.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],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"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},d=[t.COMMENT("#","$",{contains:[o]}),t.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:a},g={className:"string",contains:[t.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},S={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},G=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[S]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:n}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,d),relevance:0}].concat(c,d);l.contains=G,S.contains=G;let B="[>?]>",ne="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",v="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",le=[{begin:/^\s*=>/,starts:{end:"$",contains:G}},{className:"meta.prompt",begin:"^("+B+"|"+ne+"|"+v+")(?=[ ])",starts:{end:"$",keywords:a,contains:G}}];return d.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(le).concat(d).concat(G)}}ds.exports=tl});var fs=W((Gd,gs)=>{function nl(t){let s={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"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"{function il(t){let e=t.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(n,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}hs.exports=il});var _s=W((qd,bs)=>{function rl(t){let e=t.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},i=t.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[i,s,r,a,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,d=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,d,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,o,s,r,a,n]}}]}}bs.exports=rl});var ws=W((Wd,Ts)=>{var wt="[0-9](_*[0-9])*",bn=`\\.(${wt})`,_n="[0-9a-fA-F](_*[0-9a-fA-F])*",Es={className:"number",variants:[{begin:`(\\b(${wt})((${bn})|\\.)?|(${bn}))[eE][+-]?(${wt})[fFdD]?\\b`},{begin:`\\b(${wt})((${bn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${bn})[fFdD]?\\b`},{begin:`\\b(${wt})[fFdD]\\b`},{begin:`\\b0[xX]((${_n})\\.?|(${_n})?\\.(${_n}))[pP][+-]?(${wt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${_n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function ys(t,e,n){return n===-1?"":t.replace(e,i=>ys(t,e,n-1))}function sl(t){let e=t.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=n+ys("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[t.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[t.BACKSLASH_ESCAPE]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",t.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,Es,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},Es,d]}}Ts.exports=sl});var xs=W((Zd,ks)=>{var Ss="[A-Za-z$_][0-9A-Za-z$_]*",al=["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"],ol=["true","false","null","undefined","NaN","Infinity"],Ns=["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"],As=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],vs=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],cl=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ll=[].concat(vs,Ns,As);function ul(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:Ss,keyword:al,literal:ol,built_in:ll,"variable.language":cl},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...Ns,...As]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...vs,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}ks.exports=ul});var Rs=W((Yd,Os)=>{function dl(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",keywords:{literal:i},contains:[e,n,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}Os.exports=dl});var Ms=W((Vd,Cs)=>{var St="[0-9](_*[0-9])*",En=`\\.(${St})`,yn="[0-9a-fA-F](_*[0-9a-fA-F])*",pl={className:"number",variants:[{begin:`(\\b(${St})((${En})|\\.)?|(${En}))[eE][+-]?(${St})[fFdD]?\\b`},{begin:`\\b(${St})((${En})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${En})[fFdD]?\\b`},{begin:`\\b(${St})[fFdD]\\b`},{begin:`\\b0[xX]((${yn})\\.?|(${yn})?\\.(${yn}))[pP][+-]?(${St})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function gl(t){let e={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",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[t.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+t.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[t.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);let o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+t.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+t.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[t.inherit(a,{className:"string"}),"self"]}]},d=pl,l=t.COMMENT("/\\*","\\*/",{contains:[t.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:t.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),t.C_LINE_COMMENT_MODE,l,n,i,o,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:t.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[t.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,t.C_LINE_COMMENT_MODE,l],relevance:0},t.C_LINE_COMMENT_MODE,l,o,c,a,t.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,t.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},t.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},d]}}Cs.exports=gl});var $s=W((Xd,Ds)=>{var fl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),hl=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ml=["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"],Is=["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"],Ls=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],bl=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),_l=Is.concat(Ls);function El(t){let e=fl(t),n=_l,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(C){return{className:"string",begin:"~?"+C+".*?"+C}},d=function(C,M,Z){return{className:C,begin:M,relevance:Z}},l={$pattern:/[a-z-]+/,keyword:i,attribute:ml.join(" ")},g={begin:"\\(",end:"\\)",contains:o,keywords:l,relevance:0};o.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,d("variable","@@?"+r,10),d("variable","@\\{"+r+"\\}"),d("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=o.concat({begin:/\{/,end:/\}/,contains:a}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+bl.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},S={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:o,relevance:0}},A={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},z={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,f,d("keyword","all\\b"),d("variable","@\\{"+r+"\\}"),{begin:"\\b("+hl.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,d("selector-tag",s,0),d("selector-id","#"+s),d("selector-class","\\."+s,0),d("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Is.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Ls.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},Y={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[z]};return a.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,S,A,Y,b,z,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}Ds.exports=El});var Us=W((Qd,Ps)=>{function yl(t){let e="\\[=*\\[",n="\\]=*\\]",i={begin:e,end:n,contains:["self"]},r=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,n,{contains:[i],relevance:10})];return{name:"Lua",keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",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"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:n,contains:[i],relevance:5}])}}Ps.exports=yl});var zs=W((Jd,Bs)=>{function Tl(t){let e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%{function wl(t){let e=t.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","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","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","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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[t.BACKSLASH_ESCAPE,s,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(f,b,S="\\1")=>{let A=S==="\\1"?S:e.concat(S,b);return e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,A,/(?:\\.|[^\\\/])*?/,S,i)},g=(f,b,S)=>e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,S,i),p=[o,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",e.either(...d,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:g("(?:m|qr)?",/\//,/\//)},{begin:g("m|qr",e.either(...d,{capture:!0}),/\1/)},{begin:g("m|qr",/\(/,/\)/)},{begin:g("m|qr",/\[/,/\]/)},{begin:g("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}Fs.exports=wl});var Ks=W((ep,Gs)=>{function Sl(t){let e={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,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"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}Gs.exports=Sl});var Ws=W((tp,qs)=>{function Nl(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(o)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(se,te)=>{te.data._beginMatch=se[1]||se[2]},"on:end":(se,te)=>{te.data._beginMatch!==se[1]&&te.ignoreMatch()}},g=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ -]`,f={scope:"string",variants:[d,c,l,g]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},S=["false","null","true"],A=["__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"],z=["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"],C={keyword:A,literal:(se=>{let te=[];return se.forEach(ae=>{te.push(ae),ae.toLowerCase()===ae?te.push(ae.toUpperCase()):te.push(ae.toLowerCase())}),te})(S),built_in:z},M=se=>se.map(te=>te.replace(/\|\d+$/,"")),Z={variants:[{match:[/new/,e.concat(p,"+"),e.concat("(?!",M(z).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},G=e.concat(i,"\\b(?!\\()"),B={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},ne={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[ne,s,B,t.C_BLOCK_COMMENT_MODE,f,b,Z]},le={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",M(A).join("\\b|"),"|",M(z).join("\\b|"),"\\b)"),i,e.concat(p,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(le);let re=[ne,B,t.C_BLOCK_COMMENT_MODE,f,b,Z],ue={begin:e.concat(/#\[\s*/,r),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:S,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:S,keyword:["new","array"]},contains:["self",...re]},...re,{scope:"meta",match:r}]};return{case_insensitive:!1,keywords:C,contains:[ue,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,le,B,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},Z,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",s,B,t.C_BLOCK_COMMENT_MODE,f,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,b]}}qs.exports=Nl});var Ys=W((np,Zs)=>{function Al(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Zs.exports=Al});var Xs=W((ip,Vs)=>{function vl(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Vs.exports=vl});var Js=W((rp,Qs)=>{function kl(t){let e=t.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,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"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},d={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,l,d]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},z={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,S,g,t.HASH_COMMENT_MODE]}]};return d.contains=[g,S,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,S,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},g,A,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[z]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,z,g]}]}}Qs.exports=kl});var ea=W((sp,js)=>{function xl(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}js.exports=xl});var na=W((ap,ta)=>{function Ol(t){let e=t.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",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"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}ta.exports=Ol});var ra=W((op,ia)=>{function Rl(t){let e=t.regex,n={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,t.IDENT_RE,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",r=["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","unsafe","unsized","use","virtual","where","while","yield"],s=["true","false","Some","None","Ok","Err"],a=["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!"],o=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:o,keyword:r,literal:s,built_in:a},illegal:""},n]}}ia.exports=Rl});var aa=W((cp,sa)=>{var Cl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Ml=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Il=["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"],Ll=["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"],Dl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],$l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Pl(t){let e=Cl(t),n=Dl,i=Ll,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Ml.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$l.join("|")+")\\b"},{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"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,o,e.HEXCOLOR,e.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Il.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}sa.exports=Pl});var ca=W((lp,oa)=>{function Ul(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}oa.exports=Ul});var ua=W((up,la)=>{function Bl(t){let e=t.regex,n=t.COMMENT("--","$"),i={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["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"],c=["add","asc","collation","desc","final","first","last","view"],d=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...d,...c].filter(C=>!l.includes(C)),S={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},A={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},z={begin:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function Y(C,{exceptions:M,when:Z}={}){let G=Z;return M=M||[],C.map(B=>B.match(/\|\d+$/)||M.includes(B)?B:G(B)?`${B}|0`:B)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:Y(b,{when:C=>C.length<3}),literal:s,type:o,built_in:g},contains:[{begin:e.either(...p),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:b.concat(p),literal:s,type:o}},{className:"type",begin:e.either(...a)},z,S,i,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,n,A]}}la.exports=Bl});var Ea=W((dp,_a)=>{function fa(t){return t?typeof t=="string"?t:t.source:null}function Tn(t){return J("(?=",t,")")}function J(...t){return t.map(n=>fa(n)).join("")}function zl(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function ve(...t){return"("+(zl(t).capture?"":"?:")+t.map(i=>fa(i)).join("|")+")"}var hi=t=>J(/\b/,t,/\w$/.test(t)?/\b/:/\B/),Fl=["Protocol","Type"].map(hi),da=["init","self"].map(hi),Hl=["Any","Self"],pi=["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","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"],pa=["false","nil","true"],Gl=["assignment","associativity","higherThan","left","lowerThan","none","right"],Kl=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],ga=["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"],ha=ve(/[/=\-+!*%<>&|^~?]/,/[\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]/),ma=ve(ha,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),gi=J(ha,ma,"*"),ba=ve(/[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]/),wn=ve(ba,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=J(ba,wn,"*"),fi=J(/[A-Z]/,wn,"*"),ql=["attached","autoclosure",J(/convention\(/,ve("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",J(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Wl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Zl(t){let e={match:/\s+/,relevance:0},n=t.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[t.C_LINE_COMMENT_MODE,n],r={match:[/\./,ve(...Fl,...da)],className:{2:"keyword"}},s={match:J(/\./,ve(...pi)),relevance:0},a=pi.filter(X=>typeof X=="string").concat(["_|0"]),o=pi.filter(X=>typeof X!="string").concat(Hl).map(hi),c={variants:[{className:"keyword",match:ve(...o,...da)}]},d={$pattern:ve(/\b\w+/,/#\w+/),keyword:a.concat(Kl),literal:pa},l=[r,s,c],g={match:J(/\./,ve(...ga)),relevance:0},p={className:"built_in",match:J(/\b/,ve(...ga),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},S={className:"operator",relevance:0,variants:[{match:gi},{match:`\\.(\\.|${ma})+`}]},A=[b,S],z="([0-9]_*)+",Y="([0-9a-fA-F]_*)+",C={className:"number",relevance:0,variants:[{match:`\\b(${z})(\\.(${z}))?([eE][+-]?(${z}))?\\b`},{match:`\\b0x(${Y})(\\.(${Y}))?([pP][+-]?(${z}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(X="")=>({className:"subst",variants:[{match:J(/\\/,X,/[0\\tnr"']/)},{match:J(/\\/,X,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Z=(X="")=>({className:"subst",match:J(/\\/,X,/[\t ]*(?:[\r\n]|\r\n)/)}),G=(X="")=>({className:"subst",label:"interpol",begin:J(/\\/,X,/\(/),end:/\)/}),B=(X="")=>({begin:J(X,/"""/),end:J(/"""/,X),contains:[M(X),Z(X),G(X)]}),ne=(X="")=>({begin:J(X,/"/),end:J(/"/,X),contains:[M(X),G(X)]}),v={className:"string",variants:[B(),B("#"),B("##"),B("###"),ne(),ne("#"),ne("##"),ne("###")]},le=[t.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}],re={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:le},ue=X=>{let Oe=J(X,/\//),Ee=J(/\//,X);return{begin:Oe,end:Ee,contains:[...le,{scope:"comment",begin:`#(?!.*${Ee})`,end:/$/}]}},se={scope:"regexp",variants:[ue("###"),ue("##"),ue("#"),re]},te={match:J(/`/,Fe,/`/)},ae={className:"variable",match:/\$\d+/},_e={className:"variable",match:`\\$${wn}+`},h=[te,ae,_e],T={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Wl,contains:[...A,C,v]}]}},I={scope:"keyword",match:J(/@/,ve(...ql))},y={scope:"meta",match:J(/@/,Fe)},_=[T,I,y],E={match:Tn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:J(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wn,"+")},{className:"type",match:fi,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:J(/\s+&\s+/,Tn(fi)),relevance:0}]},k={begin://,keywords:d,contains:[...i,...l,..._,b,E]};E.contains.push(k);let $={match:J(Fe,/\s*:/),keywords:"_|0",relevance:0},D={begin:/\(/,end:/\)/,relevance:0,keywords:d,contains:["self",$,...i,se,...l,...f,...A,C,v,...h,..._,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},Me={begin:ve(Tn(J(Fe,/\s*:/)),Tn(J(Fe,/\s+/,Fe,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Fe}]},qe={begin:/\(/,end:/\)/,keywords:d,contains:[Me,...i,...l,...A,C,v,..._,E,D],endsParent:!0,illegal:/["']/},Qe={match:[/(func|macro)/,/\s+/,ve(te.match,Fe,gi)],className:{1:"keyword",3:"title.function"},contains:[ee,qe,e],illegal:[/\[/,/%/]},kt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,qe,e],illegal:/\[|%/},xt={match:[/operator/,/\s+/,gi],className:{1:"keyword",3:"title"}},ct={begin:[/precedencegroup/,/\s+/,fi],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Gl,...pa],end:/}/};for(let X of v.variants){let Oe=X.contains.find(Se=>Se.label==="interpol");Oe.keywords=d;let Ee=[...l,...f,...A,C,v,...h];Oe.contains=[...Ee,{begin:/\(/,end:/\)/,contains:["self",...Ee]}]}return{name:"Swift",keywords:d,contains:[...i,Qe,kt,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:d,contains:[t.inherit(t.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...l]},xt,ct,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},se,...l,...f,...A,C,v,...h,..._,E,D]}}_a.exports=Zl});var Ta=W((pp,ya)=>{function Yl(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o="[0-9]{4}(-[0-9][0-9]){0,2}",c="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",g={className:"number",begin:"\\b"+o+c+d+l+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},f={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},S=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,b,s],A=[...S];return A.pop(),A.push(a),p.contains=A,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:S}}ya.exports=Yl});var Ra=W((gp,Oa)=>{var Sn="[A-Za-z$_][0-9A-Za-z$_]*",wa=["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"],Sa=["true","false","null","undefined","NaN","Infinity"],Na=["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"],Aa=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],va=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ka=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],xa=[].concat(va,Na,Aa);function Vl(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:Sn,keyword:wa,literal:Sa,built_in:xa,"variable.language":ka},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...Na,...Aa]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...va,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}function Xl(t){let e=Vl(t),n=Sn,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[e.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},o=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],c={$pattern:Sn,keyword:wa.concat(o),literal:Sa,built_in:xa.concat(i),"variable.language":ka},d={className:"meta",begin:"@"+n},l=(p,f,b)=>{let S=p.contains.findIndex(A=>A.label===f);if(S===-1)throw new Error("can not find mode to replace");p.contains.splice(S,1,b)};Object.assign(e.keywords,c),e.exports.PARAMS_CONTAINS.push(d),e.contains=e.contains.concat([d,r,s]),l(e,"shebang",t.SHEBANG()),l(e,"use_strict",a);let g=e.contains.find(p=>p.label==="func.def");return g.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}Oa.exports=Xl});var Ma=W((fp,Ca)=>{function Ql(t){let e=t.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(s,r),/ *#/)},{begin:e.concat(/# */,o,/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,e.either(s,r),/ +/,e.either(a,o),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{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",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",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,c,d,l,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}Ca.exports=Ql});var La=W((hp,Ia)=>{function Jl(t){t.regex;let e=t.COMMENT(/\(;/,/;\)/);e.contains.push("self");let n=t.COMMENT(/;;/,/$/),i=["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"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,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/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",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/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,t.QUOTE_STRING_MODE,c,d,o]}}Ia.exports=Jl});var $a=W((mp,Da)=>{var H=Yr();H.registerLanguage("xml",Xr());H.registerLanguage("bash",Jr());H.registerLanguage("c",es());H.registerLanguage("cpp",ns());H.registerLanguage("csharp",rs());H.registerLanguage("css",as());H.registerLanguage("markdown",cs());H.registerLanguage("diff",us());H.registerLanguage("ruby",ps());H.registerLanguage("go",fs());H.registerLanguage("graphql",ms());H.registerLanguage("ini",_s());H.registerLanguage("java",ws());H.registerLanguage("javascript",xs());H.registerLanguage("json",Rs());H.registerLanguage("kotlin",Ms());H.registerLanguage("less",$s());H.registerLanguage("lua",Us());H.registerLanguage("makefile",zs());H.registerLanguage("perl",Hs());H.registerLanguage("objectivec",Ks());H.registerLanguage("php",Ws());H.registerLanguage("php-template",Ys());H.registerLanguage("plaintext",Xs());H.registerLanguage("python",Js());H.registerLanguage("python-repl",ea());H.registerLanguage("r",na());H.registerLanguage("rust",ra());H.registerLanguage("scss",aa());H.registerLanguage("shell",ca());H.registerLanguage("sql",ua());H.registerLanguage("swift",Ea());H.registerLanguage("yaml",Ta());H.registerLanguage("typescript",Ra());H.registerLanguage("vbnet",Ma());H.registerLanguage("wasm",La());H.HighlightJS=H;H.default=H;Da.exports=H});var eo=W((Ai,vi)=>{(function(t,e){typeof Ai=="object"&&typeof vi<"u"?vi.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(Ai,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:r}=Object,{freeze:s,seal:a,create:o}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;s||(s=function(N){return N}),a||(a=function(N){return N}),c||(c=function(N,R,q){return N.apply(R,q)}),d||(d=function(N,R){return new N(...R)});let l=B(Array.prototype.forEach),g=B(Array.prototype.pop),p=B(Array.prototype.push),f=B(String.prototype.toLowerCase),b=B(String.prototype.toString),S=B(String.prototype.match),A=B(String.prototype.replace),z=B(String.prototype.indexOf),Y=B(String.prototype.trim),C=B(Object.prototype.hasOwnProperty),M=B(RegExp.prototype.test),Z=ne(TypeError);function G(K){return typeof K=="number"&&isNaN(K)}function B(K){return function(N){for(var R=arguments.length,q=new Array(R>1?R-1:0),ie=1;ie2&&arguments[2]!==void 0?arguments[2]:f;e&&e(K,null);let q=N.length;for(;q--;){let ie=N[q];if(typeof ie=="string"){let ke=R(ie);ke!==ie&&(n(N)||(N[q]=ke),ie=ke)}K[ie]=!0}return K}function le(K){for(let N=0;N/gm),ee=a(/\${[\w\W]*}/gm),Me=a(/^data-[\-\w.\u00B7-\uFFFF]/),qe=a(/^aria-[\-\w]+$/),Qe=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kt=a(/^(?:\w+script|data):/i),xt=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ct=a(/^html$/i),X=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Oe=Object.freeze({__proto__:null,MUSTACHE_EXPR:$,ERB_EXPR:D,TMPLIT_EXPR:ee,DATA_ATTR:Me,ARIA_ATTR:qe,IS_ALLOWED_URI:Qe,IS_SCRIPT_OR_DATA:kt,ATTR_WHITESPACE:xt,DOCTYPE_NAME:ct,CUSTOM_ELEMENT:X});let Ee={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Se=function(){return typeof window>"u"?null:window},Mn=function(N,R){if(typeof N!="object"||typeof N.createPolicy!="function")return null;let q=null,ie="data-tt-policy-suffix";R&&R.hasAttribute(ie)&&(q=R.getAttribute(ie));let ke="dompurify"+(q?"#"+q:"");try{return N.createPolicy(ke,{createHTML(Le){return Le},createScriptURL(Le){return Le}})}catch{return console.warn("TrustedTypes policy "+ke+" could not be created."),null}};function lt(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Se(),N=L=>lt(L);if(N.version="3.1.4",N.removed=[],!K||!K.document||K.document.nodeType!==Ee.document)return N.isSupported=!1,N;let{document:R}=K,q=R,ie=q.currentScript,{DocumentFragment:ke,HTMLTemplateElement:Le,Node:w,Element:O,NodeFilter:U,NamedNodeMap:V=K.NamedNodeMap||K.MozNamedAttrMap,HTMLFormElement:de,DOMParser:Ie,trustedTypes:ut}=K,dt=O.prototype,go=ue(dt,"cloneNode"),fo=ue(dt,"nextSibling"),ho=ue(dt,"childNodes"),Ot=ue(dt,"parentNode");if(typeof Le=="function"){let L=R.createElement("template");L.content&&L.content.ownerDocument&&(R=L.content.ownerDocument)}let Te,Rt="",{implementation:In,createNodeIterator:mo,createDocumentFragment:bo,getElementsByTagName:_o}=R,{importNode:Eo}=q,De={};N.isSupported=typeof t=="function"&&typeof Ot=="function"&&In&&In.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Ln,ERB_EXPR:Dn,TMPLIT_EXPR:$n,DATA_ATTR:yo,ARIA_ATTR:To,IS_SCRIPT_OR_DATA:wo,ATTR_WHITESPACE:Mi,CUSTOM_ELEMENT:So}=Oe,{IS_ALLOWED_URI:Ii}=Oe,pe=null,Li=v({},[...se,...te,...ae,...h,...I]),ge=null,Di=v({},[...y,..._,...E,...k]),oe=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ct=null,Pn=null,$i=!0,Un=!0,Pi=!1,Ui=!0,pt=!1,Bn=!0,Je=!1,zn=!1,Fn=!1,gt=!1,Jt=!1,jt=!1,Bi=!0,zi=!1,No="user-content-",Hn=!0,Mt=!1,ft={},ht=null,Fi=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Hi=null,Gi=v({},["audio","video","img","source","image","track"]),Gn=null,Ki=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),en="http://www.w3.org/1998/Math/MathML",tn="http://www.w3.org/2000/svg",Pe="http://www.w3.org/1999/xhtml",mt=Pe,Kn=!1,qn=null,Ao=v({},[en,tn,Pe],b),It=null,vo=["application/xhtml+xml","text/html"],ko="text/html",fe=null,bt=null,qi=255,xo=R.createElement("form"),Wi=function(u){return u instanceof RegExp||u instanceof Function},Wn=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(bt&&bt===u)){if((!u||typeof u!="object")&&(u={}),u=re(u),It=vo.indexOf(u.PARSER_MEDIA_TYPE)===-1?ko:u.PARSER_MEDIA_TYPE,fe=It==="application/xhtml+xml"?b:f,pe=C(u,"ALLOWED_TAGS")?v({},u.ALLOWED_TAGS,fe):Li,ge=C(u,"ALLOWED_ATTR")?v({},u.ALLOWED_ATTR,fe):Di,qn=C(u,"ALLOWED_NAMESPACES")?v({},u.ALLOWED_NAMESPACES,b):Ao,Gn=C(u,"ADD_URI_SAFE_ATTR")?v(re(Ki),u.ADD_URI_SAFE_ATTR,fe):Ki,Hi=C(u,"ADD_DATA_URI_TAGS")?v(re(Gi),u.ADD_DATA_URI_TAGS,fe):Gi,ht=C(u,"FORBID_CONTENTS")?v({},u.FORBID_CONTENTS,fe):Fi,Ct=C(u,"FORBID_TAGS")?v({},u.FORBID_TAGS,fe):{},Pn=C(u,"FORBID_ATTR")?v({},u.FORBID_ATTR,fe):{},ft=C(u,"USE_PROFILES")?u.USE_PROFILES:!1,$i=u.ALLOW_ARIA_ATTR!==!1,Un=u.ALLOW_DATA_ATTR!==!1,Pi=u.ALLOW_UNKNOWN_PROTOCOLS||!1,Ui=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pt=u.SAFE_FOR_TEMPLATES||!1,Bn=u.SAFE_FOR_XML!==!1,Je=u.WHOLE_DOCUMENT||!1,gt=u.RETURN_DOM||!1,Jt=u.RETURN_DOM_FRAGMENT||!1,jt=u.RETURN_TRUSTED_TYPE||!1,Fn=u.FORCE_BODY||!1,Bi=u.SANITIZE_DOM!==!1,zi=u.SANITIZE_NAMED_PROPS||!1,Hn=u.KEEP_CONTENT!==!1,Mt=u.IN_PLACE||!1,Ii=u.ALLOWED_URI_REGEXP||Qe,mt=u.NAMESPACE||Pe,oe=u.CUSTOM_ELEMENT_HANDLING||{},u.CUSTOM_ELEMENT_HANDLING&&Wi(u.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(oe.tagNameCheck=u.CUSTOM_ELEMENT_HANDLING.tagNameCheck),u.CUSTOM_ELEMENT_HANDLING&&Wi(u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(oe.attributeNameCheck=u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(oe.allowCustomizedBuiltInElements=u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pt&&(Un=!1),Jt&&(gt=!0),ft&&(pe=v({},I),ge=[],ft.html===!0&&(v(pe,se),v(ge,y)),ft.svg===!0&&(v(pe,te),v(ge,_),v(ge,k)),ft.svgFilters===!0&&(v(pe,ae),v(ge,_),v(ge,k)),ft.mathMl===!0&&(v(pe,h),v(ge,E),v(ge,k))),u.ADD_TAGS&&(pe===Li&&(pe=re(pe)),v(pe,u.ADD_TAGS,fe)),u.ADD_ATTR&&(ge===Di&&(ge=re(ge)),v(ge,u.ADD_ATTR,fe)),u.ADD_URI_SAFE_ATTR&&v(Gn,u.ADD_URI_SAFE_ATTR,fe),u.FORBID_CONTENTS&&(ht===Fi&&(ht=re(ht)),v(ht,u.FORBID_CONTENTS,fe)),Hn&&(pe["#text"]=!0),Je&&v(pe,["html","head","body"]),pe.table&&(v(pe,["tbody"]),delete Ct.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Te=u.TRUSTED_TYPES_POLICY,Rt=Te.createHTML("")}else Te===void 0&&(Te=Mn(ut,ie)),Te!==null&&typeof Rt=="string"&&(Rt=Te.createHTML(""));s&&s(u),bt=u}},Zi=v({},["mi","mo","mn","ms","mtext"]),Yi=v({},["foreignobject","annotation-xml"]),Oo=v({},["title","style","font","a","script"]),Vi=v({},[...te,...ae,..._e]),Xi=v({},[...h,...T]),Ro=function(u){let m=Ot(u);(!m||!m.tagName)&&(m={namespaceURI:mt,tagName:"template"});let x=f(u.tagName),F=f(m.tagName);return qn[u.namespaceURI]?u.namespaceURI===tn?m.namespaceURI===Pe?x==="svg":m.namespaceURI===en?x==="svg"&&(F==="annotation-xml"||Zi[F]):!!Vi[x]:u.namespaceURI===en?m.namespaceURI===Pe?x==="math":m.namespaceURI===tn?x==="math"&&Yi[F]:!!Xi[x]:u.namespaceURI===Pe?m.namespaceURI===tn&&!Yi[F]||m.namespaceURI===en&&!Zi[F]?!1:!Xi[x]&&(Oo[x]||!Vi[x]):!!(It==="application/xhtml+xml"&&qn[u.namespaceURI]):!1},Re=function(u){p(N.removed,{element:u});try{u.parentNode.removeChild(u)}catch{u.remove()}},nn=function(u,m){try{p(N.removed,{attribute:m.getAttributeNode(u),from:m})}catch{p(N.removed,{attribute:null,from:m})}if(m.removeAttribute(u),u==="is"&&!ge[u])if(gt||Jt)try{Re(m)}catch{}else try{m.setAttribute(u,"")}catch{}},Qi=function(u){let m=null,x=null;if(Fn)u=""+u;else{let he=S(u,/^[\r\n\t ]+/);x=he&&he[0]}It==="application/xhtml+xml"&&mt===Pe&&(u=''+u+"");let F=Te?Te.createHTML(u):u;if(mt===Pe)try{m=new Ie().parseFromString(F,It)}catch{}if(!m||!m.documentElement){m=In.createDocument(mt,"template",null);try{m.documentElement.innerHTML=Kn?Rt:F}catch{}}let ye=m.body||m.documentElement;return u&&x&&ye.insertBefore(R.createTextNode(x),ye.childNodes[0]||null),mt===Pe?_o.call(m,Je?"html":"body")[0]:Je?m.documentElement:ye},Ji=function(u){return mo.call(u.ownerDocument||u,u,U.SHOW_ELEMENT|U.SHOW_COMMENT|U.SHOW_TEXT|U.SHOW_PROCESSING_INSTRUCTION|U.SHOW_CDATA_SECTION,null)},ji=function(u){return u instanceof de&&(typeof u.__depth<"u"&&typeof u.__depth!="number"||typeof u.__removalCount<"u"&&typeof u.__removalCount!="number"||typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||!(u.attributes instanceof V)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function")},er=function(u){return typeof w=="function"&&u instanceof w},Ue=function(u,m,x){De[u]&&l(De[u],F=>{F.call(N,m,x,bt)})},tr=function(u){let m=null;if(Ue("beforeSanitizeElements",u,null),ji(u))return Re(u),!0;let x=fe(u.nodeName);if(Ue("uponSanitizeElement",u,{tagName:x,allowedTags:pe}),u.hasChildNodes()&&!er(u.firstElementChild)&&M(/<[/\w]/g,u.innerHTML)&&M(/<[/\w]/g,u.textContent)||u.nodeType===Ee.progressingInstruction||Bn&&u.nodeType===Ee.comment&&M(/<[/\w]/g,u.data))return Re(u),!0;if(!pe[x]||Ct[x]){if(!Ct[x]&&ir(x)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x)))return!1;if(Hn&&!ht[x]){let F=Ot(u)||u.parentNode,ye=ho(u)||u.childNodes;if(ye&&F){let he=ye.length;for(let Ne=he-1;Ne>=0;--Ne){let Ae=go(ye[Ne],!0);Ae.__removalCount=(u.__removalCount||0)+1,F.insertBefore(Ae,fo(u))}}}return Re(u),!0}return u instanceof O&&!Ro(u)||(x==="noscript"||x==="noembed"||x==="noframes")&&M(/<\/no(script|embed|frames)/i,u.innerHTML)?(Re(u),!0):(pt&&u.nodeType===Ee.text&&(m=u.textContent,l([Ln,Dn,$n],F=>{m=A(m,F," ")}),u.textContent!==m&&(p(N.removed,{element:u.cloneNode()}),u.textContent=m)),Ue("afterSanitizeElements",u,null),!1)},nr=function(u,m,x){if(Bi&&(m==="id"||m==="name")&&(x in R||x in xo||x==="__depth"||x==="__removalCount"))return!1;if(!(Un&&!Pn[m]&&M(yo,m))){if(!($i&&M(To,m))){if(!ge[m]||Pn[m]){if(!(ir(u)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,u)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(u))&&(oe.attributeNameCheck instanceof RegExp&&M(oe.attributeNameCheck,m)||oe.attributeNameCheck instanceof Function&&oe.attributeNameCheck(m))||m==="is"&&oe.allowCustomizedBuiltInElements&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x))))return!1}else if(!Gn[m]){if(!M(Ii,A(x,Mi,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&u!=="script"&&z(x,"data:")===0&&Hi[u])){if(!(Pi&&!M(wo,A(x,Mi,"")))){if(x)return!1}}}}}}return!0},ir=function(u){return u!=="annotation-xml"&&S(u,So)},rr=function(u){Ue("beforeSanitizeAttributes",u,null);let{attributes:m}=u;if(!m)return;let x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge},F=m.length;for(;F--;){let ye=m[F],{name:he,namespaceURI:Ne,value:Ae}=ye,Lt=fe(he),we=he==="value"?Ae:Y(Ae);if(x.attrName=Lt,x.attrValue=we,x.keepAttr=!0,x.forceKeepAttr=void 0,Ue("uponSanitizeAttribute",u,x),we=x.attrValue,x.forceKeepAttr||(nn(he,u),!x.keepAttr))continue;if(!Ui&&M(/\/>/i,we)){nn(he,u);continue}if(Bn&&M(/((--!?|])>)|<\/(style|title)/i,we)){nn(he,u);continue}pt&&l([Ln,Dn,$n],ar=>{we=A(we,ar," ")});let sr=fe(u.nodeName);if(nr(sr,Lt,we)){if(zi&&(Lt==="id"||Lt==="name")&&(nn(he,u),we=No+we),Te&&typeof ut=="object"&&typeof ut.getAttributeType=="function"&&!Ne)switch(ut.getAttributeType(sr,Lt)){case"TrustedHTML":{we=Te.createHTML(we);break}case"TrustedScriptURL":{we=Te.createScriptURL(we);break}}try{Ne?u.setAttributeNS(Ne,he,we):u.setAttribute(he,we),ji(u)?Re(u):g(N.removed)}catch{}}}Ue("afterSanitizeAttributes",u,null)},Co=function L(u){let m=null,x=Ji(u);for(Ue("beforeSanitizeShadowDOM",u,null);m=x.nextNode();){if(Ue("uponSanitizeShadowNode",m,null),tr(m))continue;let F=Ot(m);m.nodeType===Ee.element&&(F&&F.__depth?m.__depth=(m.__removalCount||0)+F.__depth+1:m.__depth=1),(m.__depth>=qi||m.__depth<0||G(m.__depth))&&Re(m),m.content instanceof ke&&(m.content.__depth=m.__depth,L(m.content)),rr(m)}Ue("afterSanitizeShadowDOM",u,null)};return N.sanitize=function(L){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,x=null,F=null,ye=null;if(Kn=!L,Kn&&(L=""),typeof L!="string"&&!er(L))if(typeof L.toString=="function"){if(L=L.toString(),typeof L!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!N.isSupported)return L;if(zn||Wn(u),N.removed=[],typeof L=="string"&&(Mt=!1),Mt){if(L.nodeName){let Ae=fe(L.nodeName);if(!pe[Ae]||Ct[Ae])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(L instanceof w)m=Qi(""),x=m.ownerDocument.importNode(L,!0),x.nodeType===Ee.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?m=x:m.appendChild(x);else{if(!gt&&!pt&&!Je&&L.indexOf("<")===-1)return Te&&jt?Te.createHTML(L):L;if(m=Qi(L),!m)return gt?null:jt?Rt:""}m&&Fn&&Re(m.firstChild);let he=Ji(Mt?L:m);for(;F=he.nextNode();){if(tr(F))continue;let Ae=Ot(F);F.nodeType===Ee.element&&(Ae&&Ae.__depth?F.__depth=(F.__removalCount||0)+Ae.__depth+1:F.__depth=1),(F.__depth>=qi||F.__depth<0||G(F.__depth))&&Re(F),F.content instanceof ke&&(F.content.__depth=F.__depth,Co(F.content)),rr(F)}if(Mt)return L;if(gt){if(Jt)for(ye=bo.call(m.ownerDocument);m.firstChild;)ye.appendChild(m.firstChild);else ye=m;return(ge.shadowroot||ge.shadowrootmode)&&(ye=Eo.call(q,ye,!0)),ye}let Ne=Je?m.outerHTML:m.innerHTML;return Je&&pe["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&M(ct,m.ownerDocument.doctype.name)&&(Ne=" -`+Ne),pt&&l([Ln,Dn,$n],Ae=>{Ne=A(Ne,Ae," ")}),Te&&jt?Te.createHTML(Ne):Ne},N.setConfig=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wn(L),zn=!0},N.clearConfig=function(){bt=null,zn=!1},N.isValidAttribute=function(L,u,m){bt||Wn({});let x=fe(L),F=fe(u);return nr(x,F,m)},N.addHook=function(L,u){typeof u=="function"&&(De[L]=De[L]||[],p(De[L],u))},N.removeHook=function(L){if(De[L])return g(De[L])},N.removeHooks=function(L){De[L]&&(De[L]=[])},N.removeAllHooks=function(){De={}},N}var P=lt();return P})});var rn=globalThis,an=rn.ShadowRoot&&(rn.ShadyCSS===void 0||rn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,lr=Symbol(),cr=new WeakMap,sn=class{constructor(e,n,i){if(this._$cssResult$=!0,i!==lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o,n=this.t;if(an&&e===void 0){let i=n!==void 0&&n.length===1;i&&(e=cr.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&cr.set(n,e))}return e}toString(){return this.cssText}},ur=t=>new sn(typeof t=="string"?t:t+"",void 0,lr);var Vn=(t,e)=>{if(an)t.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(let n of e){let i=document.createElement("style"),r=rn.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=n.cssText,t.appendChild(i)}},on=an?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(let i of e.cssRules)n+=i.cssText;return ur(n)})(t):t;var{is:Po,defineProperty:Uo,getOwnPropertyDescriptor:Bo,getOwnPropertyNames:zo,getOwnPropertySymbols:Fo,getPrototypeOf:Ho}=Object,cn=globalThis,dr=cn.trustedTypes,Go=dr?dr.emptyScript:"",Ko=cn.reactiveElementPolyfillSupport,Dt=(t,e)=>t,$t={toAttribute(t,e){switch(e){case Boolean:t=t?Go:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},ln=(t,e)=>!Po(t,e),pr={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln};Symbol.metadata??=Symbol("metadata"),cn.litPropertyMetadata??=new WeakMap;var Be=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=pr){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,n);r!==void 0&&Uo(this.prototype,e,r)}}static getPropertyDescriptor(e,n,i){let{get:r,set:s}=Bo(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get(){return r?.call(this)},set(a){let o=r?.call(this);s.call(this,a),this.requestUpdate(e,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??pr}static _$Ei(){if(this.hasOwnProperty(Dt("elementProperties")))return;let e=Ho(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Dt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Dt("properties"))){let n=this.properties,i=[...zo(n),...Fo(n)];for(let r of i)this.createProperty(r,n[r])}let e=this[Symbol.metadata];if(e!==null){let n=litPropertyMetadata.get(e);if(n!==void 0)for(let[i,r]of n)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[n,i]of this.elementProperties){let r=this._$Eu(n,i);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let n=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)n.unshift(on(r))}else e!==void 0&&n.push(on(e));return n}static _$Eu(e,n){let i=n.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,n=this.constructor.elementProperties;for(let i of n.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Vn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,n,i){this._$AK(e,i)}_$EC(e,n){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let s=(i.converter?.toAttribute!==void 0?i.converter:$t).toAttribute(n,i.type);this._$Em=e,s==null?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(e,n){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let s=i.getPropertyOptions(r),a=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:$t;this._$Em=r,this[r]=a.fromAttribute(n,s.type),this._$Em=null}}requestUpdate(e,n,i){if(e!==void 0){if(i??=this.constructor.getPropertyOptions(e),!(i.hasChanged??ln)(this[e],n))return;this.P(e,n,i)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,n,i){this._$AL.has(e)||this._$AL.set(e,n),i.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,s]of this._$Ep)this[r]=s;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,s]of i)s.wrapped!==!0||this._$AL.has(r)||this[r]===void 0||this.P(r,this[r],s)}let e=!1,n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(n)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(n=>this._$EC(n,this[n])),this._$EU()}updated(e){}firstUpdated(e){}};Be.elementStyles=[],Be.shadowRootOptions={mode:"open"},Be[Dt("elementProperties")]=new Map,Be[Dt("finalized")]=new Map,Ko?.({ReactiveElement:Be}),(cn.reactiveElementVersions??=[]).push("2.0.4");var ni=globalThis,un=ni.trustedTypes,gr=un?un.createPolicy("lit-html",{createHTML:t=>t}):void 0,Er="$lit$",We=`lit$${Math.random().toFixed(9).slice(2)}$`,yr="?"+We,qo=`<${yr}>`,tt=document,Ut=()=>tt.createComment(""),Bt=t=>t===null||typeof t!="object"&&typeof t!="function",Tr=Array.isArray,Wo=t=>Tr(t)||typeof t?.[Symbol.iterator]=="function",Xn=`[ -\f\r]`,Pt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,fr=/-->/g,hr=/>/g,je=RegExp(`>|${Xn}(?:([^\\s"'>=/]+)(${Xn}*=${Xn}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),mr=/'/g,br=/"/g,wr=/^(?:script|style|textarea|title)$/i,Sr=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),Ze=Sr(1),Gu=Sr(2),ze=Symbol.for("lit-noChange"),ce=Symbol.for("lit-nothing"),_r=new WeakMap,et=tt.createTreeWalker(tt,129);function Nr(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return gr!==void 0?gr.createHTML(e):e}var Zo=(t,e)=>{let n=t.length-1,i=[],r,s=e===2?"":"",a=Pt;for(let o=0;o"?(a=r??Pt,g=-1):l[1]===void 0?g=-2:(g=a.lastIndex-l[2].length,d=l[1],a=l[3]===void 0?je:l[3]==='"'?br:mr):a===br||a===mr?a=je:a===fr||a===hr?a=Pt:(a=je,r=void 0);let f=a===je&&t[o+1].startsWith("/>")?" ":"";s+=a===Pt?c+qo:g>=0?(i.push(d),c.slice(0,g)+Er+c.slice(g)+We+f):c+We+(g===-2?o:f)}return[Nr(t,s+(t[n]||"")+(e===2?"":"")),i]},zt=class t{constructor({strings:e,_$litType$:n},i){let r;this.parts=[];let s=0,a=0,o=e.length-1,c=this.parts,[d,l]=Zo(e,n);if(this.el=t.createElement(d,i),et.currentNode=this.el.content,n===2){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=et.nextNode())!==null&&c.length0){r.textContent=un?un.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ce}_$AI(e,n=this,i,r){let s=this.strings,a=!1;if(s===void 0)e=_t(this,e,n,0),a=!Bt(e)||e!==this._$AH&&e!==ze,a&&(this._$AH=e);else{let o=e,c,d;for(e=s[0],c=0;c{let i=n?.renderBefore??e,r=i._$litPart$;if(r===void 0){let s=n?.renderBefore??null;i._$litPart$=r=new Ft(e.insertBefore(Ut(),s),s,void 0,n??{})}return r._$AI(t),r};var Ye=class extends Be{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ar(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ze}};Ye._$litElement$=!0,Ye["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:Ye});var Vo=globalThis.litElementPolyfillSupport;Vo?.({LitElement:Ye});(globalThis.litElementVersions??=[]).push("4.0.5");var vr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},kr=t=>(...e)=>({_$litDirective$:t,values:e}),dn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,i){this._$Ct=e,this._$AM=n,this._$Ci=i}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};var Ht=class extends dn{constructor(e){if(super(e),this.it=ce,e.type!==vr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ce||e==null)return this._t=void 0,this.it=e;if(e===ze)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let n=[e];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};Ht.directiveName="unsafeHTML",Ht.resultType=1;var nt=kr(Ht);var Xo={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln},Qo=(t=Xo,e,n)=>{let{kind:i,metadata:r}=n,s=globalThis.litPropertyMetadata.get(r);if(s===void 0&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(n.name,t),i==="accessor"){let{name:a}=n;return{set(o){let c=e.get.call(this);e.set.call(this,o),this.requestUpdate(a,c,t)},init(o){return o!==void 0&&this.P(a,void 0,t),o}}}if(i==="setter"){let{name:a}=n;return function(o){let c=this[a];e.call(this,o),this.requestUpdate(a,c,t)}}throw Error("Unsupported decorator location: "+i)};function be(t){return(e,n)=>typeof n=="object"?Qo(t,e,n):((i,r,s)=>{let a=r.hasOwnProperty(s);return r.constructor.createProperty(s,a?{...i,wrapped:!0}:i),a?Object.getOwnPropertyDescriptor(r,s):void 0})(t,e,n)}var co=Yn(xr());var Pa=Yn($a(),1);var Ua=Pa.default;function _i(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var at=_i();function Ka(t){at=t}var qa=/[&<>"']/,jl=new RegExp(qa.source,"g"),Wa=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,eu=new RegExp(Wa.source,"g"),tu={"&":"&","<":"<",">":">",'"':""","'":"'"},Ba=t=>tu[t];function xe(t,e){if(e){if(qa.test(t))return t.replace(jl,Ba)}else if(Wa.test(t))return t.replace(eu,Ba);return t}var nu=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function iu(t){return t.replace(nu,(e,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}var ru=/(^|[^\[])\^/g;function j(t,e){let n=typeof t=="string"?t:t.source;e=e||"";let i={replace:(r,s)=>{let a=typeof s=="string"?s:s.source;return a=a.replace(ru,"$1"),n=n.replace(r,a),i},getRegex:()=>new RegExp(n,e)};return i}function za(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}var Zt={exec:()=>null};function Fa(t,e){let n=t.replace(/\|/g,(s,a,o)=>{let c=!1,d=a;for(;--d>=0&&o[d]==="\\";)c=!c;return c?"|":" |"}),i=n.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length()=>(e||t((e={exports:{}}).exports,e),e.exports);var $o=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Io(e))!Do.call(t,r)&&r!==n&&Vn(t,r,{get:()=>e[r],enumerable:!(i=lr(e,r))||i.enumerable});return t};var Xn=(t,e,n)=>(n=t!=null?Mo(Lo(t)):{},$o(e||!t||!t.__esModule?Vn(n,"default",{value:t,enumerable:!0}):n,t));var me=(t,e,n,i)=>{for(var r=i>1?void 0:i?lr(e,n):e,s=t.length-1,a;s>=0;s--)(a=t[s])&&(r=(i?a(e,n,r):a(r))||r);return i&&r&&Vn(e,n,r),r};var Rr=W((Gt,si)=>{(function(e,n){typeof Gt=="object"&&typeof si=="object"?si.exports=n():typeof define=="function"&&define.amd?define([],n):typeof Gt=="object"?Gt.ClipboardJS=n():e.ClipboardJS=n()})(Gt,function(){return function(){var t={686:function(i,r,s){"use strict";s.d(r,{default:function(){return I}});var a=s(279),o=s.n(a),c=s(370),d=s.n(c),l=s(817),g=s.n(l);function p(y){try{return document.execCommand(y)}catch{return!1}}var f=function(_){var E=g()(_);return p("cut"),E},b=f;function S(y){var _=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[_?"right":"left"]="-9999px";var k=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(k,"px"),E.setAttribute("readonly",""),E.value=y,E}var A=function(_,E){var k=S(_);E.container.appendChild(k);var $=g()(k);return p("copy"),k.remove(),$},z=function(_){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},k="";return typeof _=="string"?k=A(_,E):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_?.type)?k=A(_.value,E):(k=g()(_),p("copy")),k},Y=z;function C(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(E){return typeof E}:C=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},C(y)}var M=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=_.action,k=E===void 0?"copy":E,$=_.container,D=_.target,ee=_.text;if(k!=="copy"&&k!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(D!==void 0)if(D&&C(D)==="object"&&D.nodeType===1){if(k==="copy"&&D.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(k==="cut"&&(D.hasAttribute("readonly")||D.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return Y(ee,{container:$});if(D)return k==="cut"?b(D):Y(D,{container:$})},Z=M;function G(y){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?G=function(E){return typeof E}:G=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},G(y)}function B(y,_){if(!(y instanceof _))throw new TypeError("Cannot call a class as a function")}function ne(y,_){for(var E=0;E<_.length;E++){var k=_[E];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(y,k.key,k)}}function v(y,_,E){return _&&ne(y.prototype,_),E&&ne(y,E),y}function le(y,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");y.prototype=Object.create(_&&_.prototype,{constructor:{value:y,writable:!0,configurable:!0}}),_&&re(y,_)}function re(y,_){return re=Object.setPrototypeOf||function(k,$){return k.__proto__=$,k},re(y,_)}function ue(y){var _=ae();return function(){var k=_e(y),$;if(_){var D=_e(this).constructor;$=Reflect.construct(k,arguments,D)}else $=k.apply(this,arguments);return se(this,$)}}function se(y,_){return _&&(G(_)==="object"||typeof _=="function")?_:te(y)}function te(y){if(y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y}function ae(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function _e(y){return _e=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},_e(y)}function h(y,_){var E="data-clipboard-".concat(y);if(_.hasAttribute(E))return _.getAttribute(E)}var T=function(y){le(E,y);var _=ue(E);function E(k,$){var D;return B(this,E),D=_.call(this),D.resolveOptions($),D.listenClick(k),D}return v(E,[{key:"resolveOptions",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof $.action=="function"?$.action:this.defaultAction,this.target=typeof $.target=="function"?$.target:this.defaultTarget,this.text=typeof $.text=="function"?$.text:this.defaultText,this.container=G($.container)==="object"?$.container:document.body}},{key:"listenClick",value:function($){var D=this;this.listener=d()($,"click",function(ee){return D.onClick(ee)})}},{key:"onClick",value:function($){var D=$.delegateTarget||$.currentTarget,ee=this.action(D)||"copy",Me=Z({action:ee,container:this.container,target:this.target(D),text:this.text(D)});this.emit(Me?"success":"error",{action:ee,text:Me,trigger:D,clearSelection:function(){D&&D.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function($){return h("action",$)}},{key:"defaultTarget",value:function($){var D=h("target",$);if(D)return document.querySelector(D)}},{key:"defaultText",value:function($){return h("text",$)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function($){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Y($,D)}},{key:"cut",value:function($){return b($)}},{key:"isSupported",value:function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],D=typeof $=="string"?[$]:$,ee=!!document.queryCommandSupported;return D.forEach(function(Me){ee=ee&&!!document.queryCommandSupported(Me)}),ee}}]),E}(o()),I=T},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var s=Element.prototype;s.matches=s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector}function a(o,c){for(;o&&o.nodeType!==r;){if(typeof o.matches=="function"&&o.matches(c))return o;o=o.parentNode}}i.exports=a},438:function(i,r,s){var a=s(828);function o(l,g,p,f,b){var S=d.apply(this,arguments);return l.addEventListener(p,S,b),{destroy:function(){l.removeEventListener(p,S,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?o.apply(null,arguments):typeof p=="function"?o.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(S){return o(S,g,p,f,b)}))}function d(l,g,p,f){return function(b){b.delegateTarget=a(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(s){return s!==void 0&&s instanceof HTMLElement&&s.nodeType===1},r.nodeList=function(s){var a=Object.prototype.toString.call(s);return s!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in s&&(s.length===0||r.node(s[0]))},r.string=function(s){return typeof s=="string"||s instanceof String},r.fn=function(s){var a=Object.prototype.toString.call(s);return a==="[object Function]"}},370:function(i,r,s){var a=s(879),o=s(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!a.string(f))throw new TypeError("Second argument must be a String");if(!a.fn(b))throw new TypeError("Third argument must be a Function");if(a.node(p))return d(p,f,b);if(a.nodeList(p))return l(p,f,b);if(a.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function d(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(S){S.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(S){S.removeEventListener(f,b)})}}}function g(p,f,b){return o(document.body,p,f,b)}i.exports=c},817:function(i){function r(s){var a;if(s.nodeName==="SELECT")s.focus(),a=s.value;else if(s.nodeName==="INPUT"||s.nodeName==="TEXTAREA"){var o=s.hasAttribute("readonly");o||s.setAttribute("readonly",""),s.select(),s.setSelectionRange(0,s.value.length),o||s.removeAttribute("readonly"),a=s.value}else{s.hasAttribute("contenteditable")&&s.focus();var c=window.getSelection(),d=document.createRange();d.selectNodeContents(s),c.removeAllRanges(),c.addRange(d),a=c.toString()}return a}i.exports=r},279:function(i){function r(){}r.prototype={on:function(s,a,o){var c=this.e||(this.e={});return(c[s]||(c[s]=[])).push({fn:a,ctx:o}),this},once:function(s,a,o){var c=this;function d(){c.off(s,d),a.apply(o,arguments)}return d._=a,this.on(s,d,o)},emit:function(s){var a=[].slice.call(arguments,1),o=((this.e||(this.e={}))[s]||[]).slice(),c=0,d=o.length;for(c;c{function Pr(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(e=>{let n=t[e],i=typeof n;(i==="object"||i==="function")&&!Object.isFrozen(n)&&Pr(n)}),t}var fn=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Ur(t){return t.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ve(t,...e){let n=Object.create(null);for(let i in t)n[i]=t[i];return e.forEach(function(i){for(let r in i)n[r]=i[r]}),n}var Jo="",Cr=t=>!!t.scope,jo=(t,{prefix:e})=>{if(t.startsWith("language:"))return t.replace("language:","language-");if(t.includes(".")){let n=t.split(".");return[`${e}${n.shift()}`,...n.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${t}`},oi=class{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=Ur(e)}openNode(e){if(!Cr(e))return;let n=jo(e.scope,{prefix:this.classPrefix});this.span(n)}closeNode(e){Cr(e)&&(this.buffer+=Jo)}value(){return this.buffer}span(e){this.buffer+=``}},Mr=(t={})=>{let e={children:[]};return Object.assign(e,t),e},ci=class t{constructor(){this.rootNode=Mr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let n=Mr({scope:e});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return typeof n=="string"?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(i=>this._walk(e,i)),e.closeNode(n)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(n=>typeof n=="string")?e.children=[e.children.join("")]:e.children.forEach(n=>{t._collapse(n)}))}},li=class extends ci{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,n){let i=e.root;n&&(i.scope=`language:${n}`),this.add(i)}toHTML(){return new oi(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Kt(t){return t?typeof t=="string"?t:t.source:null}function Br(t){return rt("(?=",t,")")}function ec(t){return rt("(?:",t,")*")}function tc(t){return rt("(?:",t,")?")}function rt(...t){return t.map(n=>Kt(n)).join("")}function nc(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function di(...t){return"("+(nc(t).capture?"":"?:")+t.map(i=>Kt(i)).join("|")+")"}function zr(t){return new RegExp(t.toString()+"|").exec("").length-1}function ic(t,e){let n=t&&t.exec(e);return n&&n.index===0}var rc=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function pi(t,{joinWith:e}){let n=0;return t.map(i=>{n+=1;let r=n,s=Kt(i),a="";for(;s.length>0;){let o=rc.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&n++)}return a}).map(i=>`(${i})`).join(e)}var sc=/\b\B/,Fr="[a-zA-Z]\\w*",gi="[a-zA-Z_]\\w*",Hr="\\b\\d+(\\.\\d+)?",Gr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Kr="\\b(0b[01]+)",ac="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",oc=(t={})=>{let e=/^#![ ]*\//;return t.binary&&(t.begin=rt(e,/.*\b/,t.binary,/\b.*/)),Ve({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(n,i)=>{n.index!==0&&i.ignoreMatch()}},t)},qt={begin:"\\\\[\\s\\S]",relevance:0},cc={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[qt]},lc={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[qt]},uc={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/},mn=function(t,e,n={}){let i=Ve({scope:"comment",begin:t,end:e,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=di("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,}/);return i.contains.push({begin:rt(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},dc=mn("//","$"),pc=mn("/\\*","\\*/"),gc=mn("#","$"),fc={scope:"number",begin:Hr,relevance:0},hc={scope:"number",begin:Gr,relevance:0},mc={scope:"number",begin:Kr,relevance:0},bc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[qt,{begin:/\[/,end:/\]/,relevance:0,contains:[qt]}]},_c={scope:"title",begin:Fr,relevance:0},Ec={scope:"title",begin:gi,relevance:0},yc={begin:"\\.\\s*"+gi,relevance:0},Tc=function(t){return Object.assign(t,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})},gn=Object.freeze({__proto__:null,APOS_STRING_MODE:cc,BACKSLASH_ESCAPE:qt,BINARY_NUMBER_MODE:mc,BINARY_NUMBER_RE:Kr,COMMENT:mn,C_BLOCK_COMMENT_MODE:pc,C_LINE_COMMENT_MODE:dc,C_NUMBER_MODE:hc,C_NUMBER_RE:Gr,END_SAME_AS_BEGIN:Tc,HASH_COMMENT_MODE:gc,IDENT_RE:Fr,MATCH_NOTHING_RE:sc,METHOD_GUARD:yc,NUMBER_MODE:fc,NUMBER_RE:Hr,PHRASAL_WORDS_MODE:uc,QUOTE_STRING_MODE:lc,REGEXP_MODE:bc,RE_STARTERS_RE:ac,SHEBANG:oc,TITLE_MODE:_c,UNDERSCORE_IDENT_RE:gi,UNDERSCORE_TITLE_MODE:Ec});function wc(t,e){t.input[t.index-1]==="."&&e.ignoreMatch()}function Sc(t,e){t.className!==void 0&&(t.scope=t.className,delete t.className)}function Nc(t,e){e&&t.beginKeywords&&(t.begin="\\b("+t.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",t.__beforeBegin=wc,t.keywords=t.keywords||t.beginKeywords,delete t.beginKeywords,t.relevance===void 0&&(t.relevance=0))}function Ac(t,e){Array.isArray(t.illegal)&&(t.illegal=di(...t.illegal))}function vc(t,e){if(t.match){if(t.begin||t.end)throw new Error("begin & end are not supported with match");t.begin=t.match,delete t.match}}function kc(t,e){t.relevance===void 0&&(t.relevance=1)}var xc=(t,e)=>{if(!t.beforeMatch)return;if(t.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},t);Object.keys(t).forEach(i=>{delete t[i]}),t.keywords=n.keywords,t.begin=rt(n.beforeMatch,Br(n.begin)),t.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},t.relevance=0,delete n.beforeMatch},Oc=["of","and","for","in","not","or","if","then","parent","list","value"],Rc="keyword";function qr(t,e,n=Rc){let i=Object.create(null);return typeof t=="string"?r(n,t.split(" ")):Array.isArray(t)?r(n,t):Object.keys(t).forEach(function(s){Object.assign(i,qr(t[s],e,s))}),i;function r(s,a){e&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){let c=o.split("|");i[c[0]]=[s,Cc(c[0],c[1])]})}}function Cc(t,e){return e?Number(e):Mc(t)?0:1}function Mc(t){return Oc.includes(t.toLowerCase())}var Ir={},it=t=>{console.error(t)},Lr=(t,...e)=>{console.log(`WARN: ${t}`,...e)},yt=(t,e)=>{Ir[`${t}/${e}`]||(console.log(`Deprecated as of ${t}. ${e}`),Ir[`${t}/${e}`]=!0)},hn=new Error;function Wr(t,e,{key:n}){let i=0,r=t[n],s={},a={};for(let o=1;o<=e.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=zr(e[o-1]);t[n]=a,t[n]._emit=s,t[n]._multi=!0}function Ic(t){if(Array.isArray(t.begin)){if(t.skip||t.excludeBegin||t.returnBegin)throw it("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),hn;if(typeof t.beginScope!="object"||t.beginScope===null)throw it("beginScope must be object"),hn;Wr(t,t.begin,{key:"beginScope"}),t.begin=pi(t.begin,{joinWith:""})}}function Lc(t){if(Array.isArray(t.end)){if(t.skip||t.excludeEnd||t.returnEnd)throw it("skip, excludeEnd, returnEnd not compatible with endScope: {}"),hn;if(typeof t.endScope!="object"||t.endScope===null)throw it("endScope must be object"),hn;Wr(t,t.end,{key:"endScope"}),t.end=pi(t.end,{joinWith:""})}}function Dc(t){t.scope&&typeof t.scope=="object"&&t.scope!==null&&(t.beginScope=t.scope,delete t.scope)}function $c(t){Dc(t),typeof t.beginScope=="string"&&(t.beginScope={_wrap:t.beginScope}),typeof t.endScope=="string"&&(t.endScope={_wrap:t.endScope}),Ic(t),Lc(t)}function Pc(t){function e(a,o){return new RegExp(Kt(a),"m"+(t.case_insensitive?"i":"")+(t.unicodeRegex?"u":"")+(o?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=zr(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let o=this.regexes.map(c=>c[1]);this.matcherRe=e(pi(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(o);if(!c)return null;let d=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[d];return c.splice(0,d),Object.assign(c,l)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];let c=new n;return this.rules.slice(o).forEach(([d,l])=>c.addRule(d,l)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let d=c.exec(o);if(this.resumingScanAtSamePosition()&&!(d&&d.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,d=l.exec(o)}return d&&(this.regexIndex+=d.position+1,this.regexIndex===this.count&&this.considerAll()),d}}function r(a){let o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){let c=a;if(a.isCompiled)return c;[Sc,vc,$c,xc].forEach(l=>l(a,o)),t.compilerExtensions.forEach(l=>l(a,o)),a.__beforeBegin=null,[Nc,Ac,kc].forEach(l=>l(a,o)),a.isCompiled=!0;let d=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),d=a.keywords.$pattern,delete a.keywords.$pattern),d=d||/\w+/,a.keywords&&(a.keywords=qr(a.keywords,t.case_insensitive)),c.keywordPatternRe=e(d,!0),o&&(a.begin||(a.begin=/\B|\b/),c.beginRe=e(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=e(c.end)),c.terminatorEnd=Kt(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=e(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(l){return Uc(l==="self"?a:l)})),a.contains.forEach(function(l){s(l,c)}),a.starts&&s(a.starts,o),c.matcher=r(c),c}if(t.compilerExtensions||(t.compilerExtensions=[]),t.contains&&t.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return t.classNameAliases=Ve(t.classNameAliases||{}),s(t)}function Zr(t){return t?t.endsWithParent||Zr(t.starts):!1}function Uc(t){return t.variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return Ve(t,{variants:null},e)})),t.cachedVariants?t.cachedVariants:Zr(t)?Ve(t,{starts:t.starts?Ve(t.starts):null}):Object.isFrozen(t)?Ve(t):t}var Bc="11.9.0",ui=class extends Error{constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}},ai=Ur,Dr=Ve,$r=Symbol("nomatch"),zc=7,Yr=function(t){let e=Object.create(null),n=Object.create(null),i=[],r=!0,s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:li};function c(h){return o.noHighlightRe.test(h)}function d(h){let T=h.className+" ";T+=h.parentNode?h.parentNode.className:"";let I=o.languageDetectRe.exec(T);if(I){let y=v(I[1]);return y||(Lr(s.replace("{}",I[1])),Lr("Falling back to no-highlight mode for this block.",h)),y?I[1]:"no-highlight"}return T.split(/\s+/).find(y=>c(y)||v(y))}function l(h,T,I){let y="",_="";typeof T=="object"?(y=h,I=T.ignoreIllegals,_=T.language):(yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),yt("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),_=h,y=T),I===void 0&&(I=!0);let E={code:y,language:_};ae("before:highlight",E);let k=E.result?E.result:g(E.language,E.code,I);return k.code=E.code,ae("after:highlight",k),k}function g(h,T,I,y){let _=Object.create(null);function E(w,O){return w.keywords[O]}function k(){if(!P.keywords){N.addText(R);return}let w=0;P.keywordPatternRe.lastIndex=0;let O=P.keywordPatternRe.exec(R),U="";for(;O;){U+=R.substring(w,O.index);let V=Se.case_insensitive?O[0].toLowerCase():O[0],de=E(P,V);if(de){let[Ie,ut]=de;if(N.addText(U),U="",_[V]=(_[V]||0)+1,_[V]<=zc&&(q+=ut),Ie.startsWith("_"))U+=O[0];else{let dt=Se.classNameAliases[Ie]||Ie;ee(O[0],dt)}}else U+=O[0];w=P.keywordPatternRe.lastIndex,O=P.keywordPatternRe.exec(R)}U+=R.substring(w),N.addText(U)}function $(){if(R==="")return;let w=null;if(typeof P.subLanguage=="string"){if(!e[P.subLanguage]){N.addText(R);return}w=g(P.subLanguage,R,!0,K[P.subLanguage]),K[P.subLanguage]=w._top}else w=f(R,P.subLanguage.length?P.subLanguage:null);P.relevance>0&&(q+=w.relevance),N.__addSublanguage(w._emitter,w.language)}function D(){P.subLanguage!=null?$():k(),R=""}function ee(w,O){w!==""&&(N.startScope(O),N.addText(w),N.endScope())}function Me(w,O){let U=1,V=O.length-1;for(;U<=V;){if(!w._emit[U]){U++;continue}let de=Se.classNameAliases[w[U]]||w[U],Ie=O[U];de?ee(Ie,de):(R=Ie,k(),R=""),U++}}function qe(w,O){return w.scope&&typeof w.scope=="string"&&N.openNode(Se.classNameAliases[w.scope]||w.scope),w.beginScope&&(w.beginScope._wrap?(ee(R,Se.classNameAliases[w.beginScope._wrap]||w.beginScope._wrap),R=""):w.beginScope._multi&&(Me(w.beginScope,O),R="")),P=Object.create(w,{parent:{value:P}}),P}function Qe(w,O,U){let V=ic(w.endRe,U);if(V){if(w["on:end"]){let de=new fn(w);w["on:end"](O,de),de.isMatchIgnored&&(V=!1)}if(V){for(;w.endsParent&&w.parent;)w=w.parent;return w}}if(w.endsWithParent)return Qe(w.parent,O,U)}function kt(w){return P.matcher.regexIndex===0?(R+=w[0],1):(Le=!0,0)}function xt(w){let O=w[0],U=w.rule,V=new fn(U),de=[U.__beforeBegin,U["on:begin"]];for(let Ie of de)if(Ie&&(Ie(w,V),V.isMatchIgnored))return kt(O);return U.skip?R+=O:(U.excludeBegin&&(R+=O),D(),!U.returnBegin&&!U.excludeBegin&&(R=O)),qe(U,w),U.returnBegin?0:O.length}function ct(w){let O=w[0],U=T.substring(w.index),V=Qe(P,w,U);if(!V)return $r;let de=P;P.endScope&&P.endScope._wrap?(D(),ee(O,P.endScope._wrap)):P.endScope&&P.endScope._multi?(D(),Me(P.endScope,w)):de.skip?R+=O:(de.returnEnd||de.excludeEnd||(R+=O),D(),de.excludeEnd&&(R=O));do P.scope&&N.closeNode(),!P.skip&&!P.subLanguage&&(q+=P.relevance),P=P.parent;while(P!==V.parent);return V.starts&&qe(V.starts,w),de.returnEnd?0:O.length}function X(){let w=[];for(let O=P;O!==Se;O=O.parent)O.scope&&w.unshift(O.scope);w.forEach(O=>N.openNode(O))}let Oe={};function Ee(w,O){let U=O&&O[0];if(R+=w,U==null)return D(),0;if(Oe.type==="begin"&&O.type==="end"&&Oe.index===O.index&&U===""){if(R+=T.slice(O.index,O.index+1),!r){let V=new Error(`0 width match regex (${h})`);throw V.languageName=h,V.badRule=Oe.rule,V}return 1}if(Oe=O,O.type==="begin")return xt(O);if(O.type==="illegal"&&!I){let V=new Error('Illegal lexeme "'+U+'" for mode "'+(P.scope||"")+'"');throw V.mode=P,V}else if(O.type==="end"){let V=ct(O);if(V!==$r)return V}if(O.type==="illegal"&&U==="")return 1;if(ke>1e5&&ke>O.index*3)throw new Error("potential infinite loop, way more iterations than matches");return R+=U,U.length}let Se=v(h);if(!Se)throw it(s.replace("{}",h)),new Error('Unknown language: "'+h+'"');let Ln=Pc(Se),lt="",P=y||Ln,K={},N=new o.__emitter(o);X();let R="",q=0,ie=0,ke=0,Le=!1;try{if(Se.__emitTokens)Se.__emitTokens(T,N);else{for(P.matcher.considerAll();;){ke++,Le?Le=!1:P.matcher.considerAll(),P.matcher.lastIndex=ie;let w=P.matcher.exec(T);if(!w)break;let O=T.substring(ie,w.index),U=Ee(O,w);ie=w.index+U}Ee(T.substring(ie))}return N.finalize(),lt=N.toHTML(),{language:h,value:lt,relevance:q,illegal:!1,_emitter:N,_top:P}}catch(w){if(w.message&&w.message.includes("Illegal"))return{language:h,value:ai(T),illegal:!0,relevance:0,_illegalBy:{message:w.message,index:ie,context:T.slice(ie-100,ie+100),mode:w.mode,resultSoFar:lt},_emitter:N};if(r)return{language:h,value:ai(T),illegal:!1,relevance:0,errorRaised:w,_emitter:N,_top:P};throw w}}function p(h){let T={value:ai(h),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return T._emitter.addText(h),T}function f(h,T){T=T||o.languages||Object.keys(e);let I=p(h),y=T.filter(v).filter(re).map(D=>g(D,h,!1));y.unshift(I);let _=y.sort((D,ee)=>{if(D.relevance!==ee.relevance)return ee.relevance-D.relevance;if(D.language&&ee.language){if(v(D.language).supersetOf===ee.language)return 1;if(v(ee.language).supersetOf===D.language)return-1}return 0}),[E,k]=_,$=E;return $.secondBest=k,$}function b(h,T,I){let y=T&&n[T]||I;h.classList.add("hljs"),h.classList.add(`language-${y}`)}function S(h){let T=null,I=d(h);if(c(I))return;if(ae("before:highlightElement",{el:h,language:I}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(h)),o.throwUnescapedHTML))throw new ui("One of your code blocks includes unescaped HTML.",h.innerHTML);T=h;let y=T.textContent,_=I?l(y,{language:I,ignoreIllegals:!0}):f(y);h.innerHTML=_.value,h.dataset.highlighted="yes",b(h,I,_.language),h.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(h.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),ae("after:highlightElement",{el:h,result:_,text:y})}function A(h){o=Dr(o,h)}let z=()=>{M(),yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Y(){M(),yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let C=!1;function M(){if(document.readyState==="loading"){C=!0;return}document.querySelectorAll(o.cssSelector).forEach(S)}function Z(){C&&M()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",Z,!1);function G(h,T){let I=null;try{I=T(t)}catch(y){if(it("Language definition for '{}' could not be registered.".replace("{}",h)),r)it(y);else throw y;I=a}I.name||(I.name=h),e[h]=I,I.rawDefinition=T.bind(null,t),I.aliases&&le(I.aliases,{languageName:h})}function B(h){delete e[h];for(let T of Object.keys(n))n[T]===h&&delete n[T]}function ne(){return Object.keys(e)}function v(h){return h=(h||"").toLowerCase(),e[h]||e[n[h]]}function le(h,{languageName:T}){typeof h=="string"&&(h=[h]),h.forEach(I=>{n[I.toLowerCase()]=T})}function re(h){let T=v(h);return T&&!T.disableAutodetect}function ue(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=T=>{h["before:highlightBlock"](Object.assign({block:T.el},T))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=T=>{h["after:highlightBlock"](Object.assign({block:T.el},T))})}function se(h){ue(h),i.push(h)}function te(h){let T=i.indexOf(h);T!==-1&&i.splice(T,1)}function ae(h,T){let I=h;i.forEach(function(y){y[I]&&y[I](T)})}function _e(h){return yt("10.7.0","highlightBlock will be removed entirely in v12.0"),yt("10.7.0","Please use highlightElement now."),S(h)}Object.assign(t,{highlight:l,highlightAuto:f,highlightAll:M,highlightElement:S,highlightBlock:_e,configure:A,initHighlighting:z,initHighlightingOnLoad:Y,registerLanguage:G,unregisterLanguage:B,listLanguages:ne,getLanguage:v,registerAliases:le,autoDetection:re,inherit:Dr,addPlugin:se,removePlugin:te}),t.debugMode=function(){r=!1},t.safeMode=function(){r=!0},t.versionString=Bc,t.regex={concat:rt,lookahead:Br,either:di,optional:tc,anyNumberOfTimes:ec};for(let h in gn)typeof gn[h]=="object"&&Pr(gn[h]);return Object.assign(t,gn),t},Tt=Yr({});Tt.newInstance=()=>Yr({});Vr.exports=Tt;Tt.HighlightJS=Tt;Tt.default=Tt});var Jr=W((Ld,Qr)=>{function Fc(t){let e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=t.inherit(s,{begin:/\(/,end:/\)/}),o=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[s,a,c,o]}]}]},t.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:d}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Qr.exports=Fc});var es=W((Dd,jr)=>{function Hc(t){let e=t.regex,n={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n,r]};r.contains.push(a);let o={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=t.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],S=["true","false"],A={match:/(\/[a-z._-]+)+/},z=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],Y=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],C=["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"],M=["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"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:S,built_in:[...z,...Y,"set","shopt",...C,...M]},contains:[p,t.SHEBANG(),f,l,t.HASH_COMMENT_MODE,s,A,a,o,c,d,n]}}jr.exports=Hc});var ns=W(($d,ts)=>{function Gc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",A={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",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"},z=[g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],Y={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:A,contains:z.concat([{begin:/\(/,end:/\)/,keywords:A,contains:z.concat(["self"]),relevance:0}]),relevance:0},C={begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:A,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:A,relevance:0},{begin:f,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:A,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:A,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:g,strings:d,keywords:A}}}ts.exports=Gc});var rs=W((Pd,is)=>{function Kc(t){let e=t.regex,n=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="<[^<>]+>",a="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional(s)+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",d={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[t.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+c+"|.)",end:"'",illegal:"."},t.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},t.inherit(d,{className:"string"}),{className:"string",begin:/<.*?>/},n,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+t.IDENT_RE,relevance:0},f=e.optional(r)+t.IDENT_RE+"\\s*\\(",b=["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"],S=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],A=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","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"],z=["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"],M={type:S,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:A},Z={className:"function.dispatch",relevance:0,keywords:{_hint:z},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},G=[Z,g,o,n,t.C_BLOCK_COMMENT_MODE,l,d],B={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:M,contains:G.concat([{begin:/\(/,end:/\)/,keywords:M,contains:G.concat(["self"]),relevance:0}]),relevance:0},ne={className:"function",begin:"("+a+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:M,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:M,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[d,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:[n,t.C_BLOCK_COMMENT_MODE,d,l,o,{begin:/\(/,end:/\)/,keywords:M,relevance:0,contains:["self",n,t.C_BLOCK_COMMENT_MODE,d,l,o]}]},o,n,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:M,illegal:"",keywords:M,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:M},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}is.exports=Kc});var as=W((Ud,ss)=>{function qc(t){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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"],s=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:e,literal:i},o=t.inherit(t.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},l=t.inherit(d,{illegal:/\n/}),g={className:"subst",begin:/\{/,end:/\}/,keywords:a},p=t.inherit(g,{illegal:/\n/}),f={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,p]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},g]},S=t.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});g.contains=[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.C_BLOCK_COMMENT_MODE],p.contains=[S,f,l,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let A={variants:[b,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},z={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},Y=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,z,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+Y+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,z],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[A,c,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},C]}}ss.exports=qc});var cs=W((Bd,os)=>{var Wc=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Zc=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Yc=["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"],Vc=["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"],Xc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Qc=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Jc(t){let e=t.regex,n=Wc(t),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,i,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Vc.join("|")+")"},{begin:":(:)?("+Xc.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Qc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Yc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Zc.join("|")+")\\b"}]}}os.exports=Jc});var us=W((zd,ls)=>{function jc(t){let e=t.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},d={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=t.inherit(d,{contains:[]}),p=t.inherit(l,{contains:[]});d.contains.push(p),l.contains.push(g);let f=[n,c];return[d,l,g,p].forEach(A=>{A.contains=A.contains.concat(f)}),f=f.concat(d,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},n,s,d,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,a]}}ls.exports=jc});var ps=W((Fd,ds)=>{function el(t){let e=t.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}ds.exports=el});var fs=W((Hd,gs)=>{function tl(t){let e=t.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],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"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},d=[t.COMMENT("#","$",{contains:[o]}),t.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:a},g={className:"string",contains:[t.BACKSLASH_ESCAPE,l],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},S={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},G=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[S]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:n}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.BACKSLASH_ESCAPE,l],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,d),relevance:0}].concat(c,d);l.contains=G,S.contains=G;let B="[>?]>",ne="[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]",v="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",le=[{begin:/^\s*=>/,starts:{end:"$",contains:G}},{className:"meta.prompt",begin:"^("+B+"|"+ne+"|"+v+")(?=[ ])",starts:{end:"$",keywords:a,contains:G}}];return d.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(le).concat(d).concat(G)}}gs.exports=tl});var ms=W((Gd,hs)=>{function nl(t){let s={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"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"{function il(t){let e=t.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(n,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}bs.exports=il});var ys=W((qd,Es)=>{function rl(t){let e=t.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},i=t.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[i,s,r,a,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,d=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,d,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,o,s,r,a,n]}}]}}Es.exports=rl});var Ns=W((Wd,Ss)=>{var wt="[0-9](_*[0-9])*",bn=`\\.(${wt})`,_n="[0-9a-fA-F](_*[0-9a-fA-F])*",Ts={className:"number",variants:[{begin:`(\\b(${wt})((${bn})|\\.)?|(${bn}))[eE][+-]?(${wt})[fFdD]?\\b`},{begin:`\\b(${wt})((${bn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${bn})[fFdD]?\\b`},{begin:`\\b(${wt})[fFdD]\\b`},{begin:`\\b0[xX]((${_n})\\.?|(${_n})?\\.(${_n}))[pP][+-]?(${wt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${_n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function ws(t,e,n){return n===-1?"":t.replace(e,i=>ws(t,e,n-1))}function sl(t){let e=t.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=n+ws("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={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"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},d={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[t.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[t.BACKSLASH_ESCAPE]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[l,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",t.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,Ts,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},Ts,d]}}Ss.exports=sl});var Rs=W((Zd,Os)=>{var As="[A-Za-z$_][0-9A-Za-z$_]*",al=["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"],ol=["true","false","null","undefined","NaN","Infinity"],vs=["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"],ks=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],xs=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],cl=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ll=[].concat(xs,vs,ks);function ul(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:As,keyword:al,literal:ol,built_in:ll,"variable.language":cl},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...vs,...ks]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...xs,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}Os.exports=ul});var Ms=W((Yd,Cs)=>{function dl(t){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",keywords:{literal:i},contains:[e,n,t.QUOTE_STRING_MODE,r,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}Cs.exports=dl});var Ls=W((Vd,Is)=>{var St="[0-9](_*[0-9])*",En=`\\.(${St})`,yn="[0-9a-fA-F](_*[0-9a-fA-F])*",pl={className:"number",variants:[{begin:`(\\b(${St})((${En})|\\.)?|(${En}))[eE][+-]?(${St})[fFdD]?\\b`},{begin:`\\b(${St})((${En})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${En})[fFdD]?\\b`},{begin:`\\b(${St})[fFdD]\\b`},{begin:`\\b0[xX]((${yn})\\.?|(${yn})?\\.(${yn}))[pP][+-]?(${St})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function gl(t){let e={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",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[t.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+t.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[t.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);let o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+t.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+t.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[t.inherit(a,{className:"string"}),"self"]}]},d=pl,l=t.COMMENT("/\\*","\\*/",{contains:[t.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:t.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),t.C_LINE_COMMENT_MODE,l,n,i,o,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:t.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[t.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,t.C_LINE_COMMENT_MODE,l],relevance:0},t.C_LINE_COMMENT_MODE,l,o,c,a,t.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,t.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},t.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},d]}}Is.exports=gl});var Us=W((Xd,Ps)=>{var fl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),hl=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ml=["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"],Ds=["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"],$s=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],bl=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),_l=Ds.concat($s);function El(t){let e=fl(t),n=_l,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(C){return{className:"string",begin:"~?"+C+".*?"+C}},d=function(C,M,Z){return{className:C,begin:M,relevance:Z}},l={$pattern:/[a-z-]+/,keyword:i,attribute:ml.join(" ")},g={begin:"\\(",end:"\\)",contains:o,keywords:l,relevance:0};o.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,d("variable","@@?"+r,10),d("variable","@\\{"+r+"\\}"),d("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=o.concat({begin:/\{/,end:/\}/,contains:a}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},b={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+bl.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},S={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:o,relevance:0}},A={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},z={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,f,d("keyword","all\\b"),d("variable","@\\{"+r+"\\}"),{begin:"\\b("+hl.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,d("selector-tag",s,0),d("selector-id","#"+s),d("selector-class","\\."+s,0),d("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Ds.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+$s.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},Y={begin:r+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[z]};return a.push(t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,S,A,Y,b,z,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}Ps.exports=El});var zs=W((Qd,Bs)=>{function yl(t){let e="\\[=*\\[",n="\\]=*\\]",i={begin:e,end:n,contains:["self"]},r=[t.COMMENT("--(?!"+e+")","$"),t.COMMENT("--"+e,n,{contains:[i],relevance:10})];return{name:"Lua",keywords:{$pattern:t.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",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"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:e,end:n,contains:[i],relevance:5}])}}Bs.exports=yl});var Hs=W((Jd,Fs)=>{function Tl(t){let e={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%{function wl(t){let e=t.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","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","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","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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[t.BACKSLASH_ESCAPE,s,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(f,b,S="\\1")=>{let A=S==="\\1"?S:e.concat(S,b);return e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,A,/(?:\\.|[^\\\/])*?/,S,i)},g=(f,b,S)=>e.concat(e.concat("(?:",f,")"),b,/(?:\\.|[^\\\/])*?/,S,i),p=[o,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",e.either(...d,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:g("(?:m|qr)?",/\//,/\//)},{begin:g("m|qr",e.either(...d,{capture:!0}),/\1/)},{begin:g("m|qr",/\(/,/\)/)},{begin:g("m|qr",/\[/,/\]/)},{begin:g("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}Gs.exports=wl});var Ws=W((ep,qs)=>{function Sl(t){let e={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:n,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"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}qs.exports=Sl});var Ys=W((tp,Zs)=>{function Nl(t){let e=t.regex,n=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(o)}),l={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(se,te)=>{te.data._beginMatch=se[1]||se[2]},"on:end":(se,te)=>{te.data._beginMatch!==se[1]&&te.ignoreMatch()}},g=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[ +]`,f={scope:"string",variants:[d,c,l,g]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},S=["false","null","true"],A=["__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"],z=["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"],C={keyword:A,literal:(se=>{let te=[];return se.forEach(ae=>{te.push(ae),ae.toLowerCase()===ae?te.push(ae.toUpperCase()):te.push(ae.toLowerCase())}),te})(S),built_in:z},M=se=>se.map(te=>te.replace(/\|\d+$/,"")),Z={variants:[{match:[/new/,e.concat(p,"+"),e.concat("(?!",M(z).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},G=e.concat(i,"\\b(?!\\()"),B={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),G],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},ne={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},v={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[ne,s,B,t.C_BLOCK_COMMENT_MODE,f,b,Z]},le={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",M(A).join("\\b|"),"|",M(z).join("\\b|"),"\\b)"),i,e.concat(p,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[v]};v.contains.push(le);let re=[ne,B,t.C_BLOCK_COMMENT_MODE,f,b,Z],ue={begin:e.concat(/#\[\s*/,r),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:S,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:S,keyword:["new","array"]},contains:["self",...re]},...re,{scope:"meta",match:r}]};return{case_insensitive:!1,keywords:C,contains:[ue,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,le,B,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},Z,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",s,B,t.C_BLOCK_COMMENT_MODE,f,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,b]}}Zs.exports=Nl});var Xs=W((np,Vs)=>{function Al(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Vs.exports=Al});var Js=W((ip,Qs)=>{function vl(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Qs.exports=vl});var ea=W((rp,js)=>{function kl(t){let e=t.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,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"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},d={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,l,d]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,l,d]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,l,d]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,S={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},z={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,S,g,t.HASH_COMMENT_MODE]}]};return d.contains=[g,S,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,S,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},g,A,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[z]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[S,z,g]}]}}js.exports=kl});var na=W((sp,ta)=>{function xl(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}ta.exports=xl});var ra=W((ap,ia)=>{function Ol(t){let e=t.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",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"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[s,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}ia.exports=Ol});var aa=W((op,sa)=>{function Rl(t){let e=t.regex,n={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,t.IDENT_RE,e.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",r=["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","unsafe","unsized","use","virtual","where","while","yield"],s=["true","false","Some","None","Ok","Err"],a=["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!"],o=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:o,keyword:r,literal:s,built_in:a},illegal:""},n]}}sa.exports=Rl});var ca=W((cp,oa)=>{var Cl=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.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)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Ml=["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","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Il=["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"],Ll=["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"],Dl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],$l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","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-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-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","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","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","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","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","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","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-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-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","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","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function Pl(t){let e=Cl(t),n=Dl,i=Ll,r="@[a-z-]+",s="and or not only",o={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Ml.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},o,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$l.join("|")+")\\b"},{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"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,o,e.HEXCOLOR,e.CSS_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Il.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},o,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}oa.exports=Pl});var ua=W((lp,la)=>{function Ul(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}la.exports=Ul});var pa=W((up,da)=>{function Bl(t){let e=t.regex,n=t.COMMENT("--","$"),i={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},s=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["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"],c=["add","asc","collation","desc","final","first","last","view"],d=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...d,...c].filter(C=>!l.includes(C)),S={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},A={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},z={begin:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function Y(C,{exceptions:M,when:Z}={}){let G=Z;return M=M||[],C.map(B=>B.match(/\|\d+$/)||M.includes(B)?B:G(B)?`${B}|0`:B)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:Y(b,{when:C=>C.length<3}),literal:s,type:o,built_in:g},contains:[{begin:e.either(...p),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:b.concat(p),literal:s,type:o}},{className:"type",begin:e.either(...a)},z,S,i,r,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,n,A]}}da.exports=Bl});var Ta=W((dp,ya)=>{function ma(t){return t?typeof t=="string"?t:t.source:null}function Tn(t){return J("(?=",t,")")}function J(...t){return t.map(n=>ma(n)).join("")}function zl(t){let e=t[t.length-1];return typeof e=="object"&&e.constructor===Object?(t.splice(t.length-1,1),e):{}}function ve(...t){return"("+(zl(t).capture?"":"?:")+t.map(i=>ma(i)).join("|")+")"}var bi=t=>J(/\b/,t,/\w$/.test(t)?/\b/:/\B/),Fl=["Protocol","Type"].map(bi),ga=["init","self"].map(bi),Hl=["Any","Self"],fi=["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","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"],fa=["false","nil","true"],Gl=["assignment","associativity","higherThan","left","lowerThan","none","right"],Kl=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],ha=["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"],ba=ve(/[/=\-+!*%<>&|^~?]/,/[\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]/),_a=ve(ba,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),hi=J(ba,_a,"*"),Ea=ve(/[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]/),wn=ve(Ea,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=J(Ea,wn,"*"),mi=J(/[A-Z]/,wn,"*"),ql=["attached","autoclosure",J(/convention\(/,ve("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",J(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Wl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Zl(t){let e={match:/\s+/,relevance:0},n=t.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[t.C_LINE_COMMENT_MODE,n],r={match:[/\./,ve(...Fl,...ga)],className:{2:"keyword"}},s={match:J(/\./,ve(...fi)),relevance:0},a=fi.filter(X=>typeof X=="string").concat(["_|0"]),o=fi.filter(X=>typeof X!="string").concat(Hl).map(bi),c={variants:[{className:"keyword",match:ve(...o,...ga)}]},d={$pattern:ve(/\b\w+/,/#\w+/),keyword:a.concat(Kl),literal:fa},l=[r,s,c],g={match:J(/\./,ve(...ha)),relevance:0},p={className:"built_in",match:J(/\b/,ve(...ha),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},S={className:"operator",relevance:0,variants:[{match:hi},{match:`\\.(\\.|${_a})+`}]},A=[b,S],z="([0-9]_*)+",Y="([0-9a-fA-F]_*)+",C={className:"number",relevance:0,variants:[{match:`\\b(${z})(\\.(${z}))?([eE][+-]?(${z}))?\\b`},{match:`\\b0x(${Y})(\\.(${Y}))?([pP][+-]?(${z}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(X="")=>({className:"subst",variants:[{match:J(/\\/,X,/[0\\tnr"']/)},{match:J(/\\/,X,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Z=(X="")=>({className:"subst",match:J(/\\/,X,/[\t ]*(?:[\r\n]|\r\n)/)}),G=(X="")=>({className:"subst",label:"interpol",begin:J(/\\/,X,/\(/),end:/\)/}),B=(X="")=>({begin:J(X,/"""/),end:J(/"""/,X),contains:[M(X),Z(X),G(X)]}),ne=(X="")=>({begin:J(X,/"/),end:J(/"/,X),contains:[M(X),G(X)]}),v={className:"string",variants:[B(),B("#"),B("##"),B("###"),ne(),ne("#"),ne("##"),ne("###")]},le=[t.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[t.BACKSLASH_ESCAPE]}],re={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:le},ue=X=>{let Oe=J(X,/\//),Ee=J(/\//,X);return{begin:Oe,end:Ee,contains:[...le,{scope:"comment",begin:`#(?!.*${Ee})`,end:/$/}]}},se={scope:"regexp",variants:[ue("###"),ue("##"),ue("#"),re]},te={match:J(/`/,Fe,/`/)},ae={className:"variable",match:/\$\d+/},_e={className:"variable",match:`\\$${wn}+`},h=[te,ae,_e],T={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Wl,contains:[...A,C,v]}]}},I={scope:"keyword",match:J(/@/,ve(...ql))},y={scope:"meta",match:J(/@/,Fe)},_=[T,I,y],E={match:Tn(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:J(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wn,"+")},{className:"type",match:mi,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:J(/\s+&\s+/,Tn(mi)),relevance:0}]},k={begin://,keywords:d,contains:[...i,...l,..._,b,E]};E.contains.push(k);let $={match:J(Fe,/\s*:/),keywords:"_|0",relevance:0},D={begin:/\(/,end:/\)/,relevance:0,keywords:d,contains:["self",$,...i,se,...l,...f,...A,C,v,...h,..._,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},Me={begin:ve(Tn(J(Fe,/\s*:/)),Tn(J(Fe,/\s+/,Fe,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Fe}]},qe={begin:/\(/,end:/\)/,keywords:d,contains:[Me,...i,...l,...A,C,v,..._,E,D],endsParent:!0,illegal:/["']/},Qe={match:[/(func|macro)/,/\s+/,ve(te.match,Fe,hi)],className:{1:"keyword",3:"title.function"},contains:[ee,qe,e],illegal:[/\[/,/%/]},kt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,qe,e],illegal:/\[|%/},xt={match:[/operator/,/\s+/,hi],className:{1:"keyword",3:"title"}},ct={begin:[/precedencegroup/,/\s+/,mi],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Gl,...fa],end:/}/};for(let X of v.variants){let Oe=X.contains.find(Se=>Se.label==="interpol");Oe.keywords=d;let Ee=[...l,...f,...A,C,v,...h];Oe.contains=[...Ee,{begin:/\(/,end:/\)/,contains:["self",...Ee]}]}return{name:"Swift",keywords:d,contains:[...i,Qe,kt,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:d,contains:[t.inherit(t.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...l]},xt,ct,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},se,...l,...f,...A,C,v,...h,..._,E,D]}}ya.exports=Zl});var Sa=W((pp,wa)=>{function Yl(t){let e="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,r]},a=t.inherit(s,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),o="[0-9]{4}(-[0-9][0-9]){0,2}",c="([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?",d="(\\.[0-9]*)?",l="([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?",g={className:"number",begin:"\\b"+o+c+d+l+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},f={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},S=[i,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},g,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,b,s],A=[...S];return A.pop(),A.push(a),p.contains=A,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:S}}wa.exports=Yl});var Ma=W((gp,Ca)=>{var Sn="[A-Za-z$_][0-9A-Za-z$_]*",Na=["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"],Aa=["true","false","null","undefined","NaN","Infinity"],va=["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"],ka=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],xa=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Oa=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ra=[].concat(xa,va,ka);function Vl(t){let e=t.regex,n=(T,{after:I})=>{let y="",end:""},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(T,I)=>{let y=T[0].length+T.index,_=T.input[y];if(_==="<"||_===","){I.ignoreMatch();return}_===">"&&(n(T,{after:y})||I.ignoreMatch());let E,k=T.input.substring(y);if(E=k.match(/^\s*=/)){I.ignoreMatch();return}if((E=k.match(/^\s+extends\s+/))&&E.index===0){I.ignoreMatch();return}}},o={$pattern:Sn,keyword:Na,literal:Aa,built_in:Ra,"variable.language":Oa},c="[0-9](_?[0-9])*",d=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${d})|\\.)?|(${d}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},f={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"css"}},S={begin:"gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},A={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,p]},Y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},C=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,{match:/\$\d+/},g];p.contains=C.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(C)});let M=[].concat(Y,p.contains),Z=M.concat([{begin:/\(/,end:/\)/,keywords:o,contains:["self"].concat(M)}]),G={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z},B={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},ne={relevance:0,match:e.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]*)*/),className:"title.class",keywords:{_:[...va,...ka]}},v={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},le={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[G],illegal:/%/},re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ue(T){return e.concat("(?!",T.join("|"),")")}let se={match:e.concat(/\b/,ue([...xa,"super","import"]),i,e.lookahead(/\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ae={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},G]},_e="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",h={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_e)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[G]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:Z,CLASS_REFERENCE:ne},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),v,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,f,b,S,A,Y,{match:/\$\d+/},g,ne,{className:"attr",begin:i+e.lookahead(":"),relevance:0},h,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[Y,t.REGEXP_MODE,{className:"function",begin:_e,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:Z}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},le,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[G,t.inherit(t.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[G]},se,re,B,ae,{match:/\$[(.]/}]}}function Xl(t){let e=Vl(t),n=Sn,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],r={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[e.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},o=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],c={$pattern:Sn,keyword:Na.concat(o),literal:Aa,built_in:Ra.concat(i),"variable.language":Oa},d={className:"meta",begin:"@"+n},l=(p,f,b)=>{let S=p.contains.findIndex(A=>A.label===f);if(S===-1)throw new Error("can not find mode to replace");p.contains.splice(S,1,b)};Object.assign(e.keywords,c),e.exports.PARAMS_CONTAINS.push(d),e.contains=e.contains.concat([d,r,s]),l(e,"shebang",t.SHEBANG()),l(e,"use_strict",a);let g=e.contains.find(p=>p.label==="func.def");return g.relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e}Ca.exports=Xl});var La=W((fp,Ia)=>{function Ql(t){let e=t.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,a=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(s,r),/ *#/)},{begin:e.concat(/# */,o,/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,e.either(s,r),/ +/,e.either(a,o),/ *#/)}]},d={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{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",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",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,i,c,d,l,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}Ia.exports=Ql});var $a=W((hp,Da)=>{function Jl(t){t.regex;let e=t.COMMENT(/\(;/,/;\)/);e.contains.push("self");let n=t.COMMENT(/;;/,/$/),i=["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"],r={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},a={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,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/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},d={className:"keyword",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/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:i},contains:[n,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,a,r,t.QUOTE_STRING_MODE,c,d,o]}}Da.exports=Jl});var Ua=W((mp,Pa)=>{var H=Xr();H.registerLanguage("xml",Jr());H.registerLanguage("bash",es());H.registerLanguage("c",ns());H.registerLanguage("cpp",rs());H.registerLanguage("csharp",as());H.registerLanguage("css",cs());H.registerLanguage("markdown",us());H.registerLanguage("diff",ps());H.registerLanguage("ruby",fs());H.registerLanguage("go",ms());H.registerLanguage("graphql",_s());H.registerLanguage("ini",ys());H.registerLanguage("java",Ns());H.registerLanguage("javascript",Rs());H.registerLanguage("json",Ms());H.registerLanguage("kotlin",Ls());H.registerLanguage("less",Us());H.registerLanguage("lua",zs());H.registerLanguage("makefile",Hs());H.registerLanguage("perl",Ks());H.registerLanguage("objectivec",Ws());H.registerLanguage("php",Ys());H.registerLanguage("php-template",Xs());H.registerLanguage("plaintext",Js());H.registerLanguage("python",ea());H.registerLanguage("python-repl",na());H.registerLanguage("r",ra());H.registerLanguage("rust",aa());H.registerLanguage("scss",ca());H.registerLanguage("shell",ua());H.registerLanguage("sql",pa());H.registerLanguage("swift",Ta());H.registerLanguage("yaml",Sa());H.registerLanguage("typescript",Ma());H.registerLanguage("vbnet",La());H.registerLanguage("wasm",$a());H.HighlightJS=H;H.default=H;Pa.exports=H});var no=W((ki,xi)=>{(function(t,e){typeof ki=="object"&&typeof xi<"u"?xi.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self,t.DOMPurify=e())})(ki,function(){"use strict";let{entries:t,setPrototypeOf:e,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:r}=Object,{freeze:s,seal:a,create:o}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;s||(s=function(N){return N}),a||(a=function(N){return N}),c||(c=function(N,R,q){return N.apply(R,q)}),d||(d=function(N,R){return new N(...R)});let l=B(Array.prototype.forEach),g=B(Array.prototype.pop),p=B(Array.prototype.push),f=B(String.prototype.toLowerCase),b=B(String.prototype.toString),S=B(String.prototype.match),A=B(String.prototype.replace),z=B(String.prototype.indexOf),Y=B(String.prototype.trim),C=B(Object.prototype.hasOwnProperty),M=B(RegExp.prototype.test),Z=ne(TypeError);function G(K){return typeof K=="number"&&isNaN(K)}function B(K){return function(N){for(var R=arguments.length,q=new Array(R>1?R-1:0),ie=1;ie2&&arguments[2]!==void 0?arguments[2]:f;e&&e(K,null);let q=N.length;for(;q--;){let ie=N[q];if(typeof ie=="string"){let ke=R(ie);ke!==ie&&(n(N)||(N[q]=ke),ie=ke)}K[ie]=!0}return K}function le(K){for(let N=0;N/gm),ee=a(/\${[\w\W]*}/gm),Me=a(/^data-[\-\w.\u00B7-\uFFFF]/),qe=a(/^aria-[\-\w]+$/),Qe=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),kt=a(/^(?:\w+script|data):/i),xt=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ct=a(/^html$/i),X=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var Oe=Object.freeze({__proto__:null,MUSTACHE_EXPR:$,ERB_EXPR:D,TMPLIT_EXPR:ee,DATA_ATTR:Me,ARIA_ATTR:qe,IS_ALLOWED_URI:Qe,IS_SCRIPT_OR_DATA:kt,ATTR_WHITESPACE:xt,DOCTYPE_NAME:ct,CUSTOM_ELEMENT:X});let Ee={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Se=function(){return typeof window>"u"?null:window},Ln=function(N,R){if(typeof N!="object"||typeof N.createPolicy!="function")return null;let q=null,ie="data-tt-policy-suffix";R&&R.hasAttribute(ie)&&(q=R.getAttribute(ie));let ke="dompurify"+(q?"#"+q:"");try{return N.createPolicy(ke,{createHTML(Le){return Le},createScriptURL(Le){return Le}})}catch{return console.warn("TrustedTypes policy "+ke+" could not be created."),null}};function lt(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Se(),N=L=>lt(L);if(N.version="3.1.4",N.removed=[],!K||!K.document||K.document.nodeType!==Ee.document)return N.isSupported=!1,N;let{document:R}=K,q=R,ie=q.currentScript,{DocumentFragment:ke,HTMLTemplateElement:Le,Node:w,Element:O,NodeFilter:U,NamedNodeMap:V=K.NamedNodeMap||K.MozNamedAttrMap,HTMLFormElement:de,DOMParser:Ie,trustedTypes:ut}=K,dt=O.prototype,go=ue(dt,"cloneNode"),fo=ue(dt,"nextSibling"),ho=ue(dt,"childNodes"),Ot=ue(dt,"parentNode");if(typeof Le=="function"){let L=R.createElement("template");L.content&&L.content.ownerDocument&&(R=L.content.ownerDocument)}let Te,Rt="",{implementation:Dn,createNodeIterator:mo,createDocumentFragment:bo,getElementsByTagName:_o}=R,{importNode:Eo}=q,De={};N.isSupported=typeof t=="function"&&typeof Ot=="function"&&Dn&&Dn.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:$n,ERB_EXPR:Pn,TMPLIT_EXPR:Un,DATA_ATTR:yo,ARIA_ATTR:To,IS_SCRIPT_OR_DATA:wo,ATTR_WHITESPACE:Li,CUSTOM_ELEMENT:So}=Oe,{IS_ALLOWED_URI:Di}=Oe,pe=null,$i=v({},[...se,...te,...ae,...h,...I]),ge=null,Pi=v({},[...y,..._,...E,...k]),oe=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ct=null,Bn=null,Ui=!0,zn=!0,Bi=!1,zi=!0,pt=!1,Fn=!0,Je=!1,Hn=!1,Gn=!1,gt=!1,Jt=!1,jt=!1,Fi=!0,Hi=!1,No="user-content-",Kn=!0,Mt=!1,ft={},ht=null,Gi=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ki=null,qi=v({},["audio","video","img","source","image","track"]),qn=null,Wi=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),en="http://www.w3.org/1998/Math/MathML",tn="http://www.w3.org/2000/svg",Pe="http://www.w3.org/1999/xhtml",mt=Pe,Wn=!1,Zn=null,Ao=v({},[en,tn,Pe],b),It=null,vo=["application/xhtml+xml","text/html"],ko="text/html",fe=null,bt=null,Zi=255,xo=R.createElement("form"),Yi=function(u){return u instanceof RegExp||u instanceof Function},Yn=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(bt&&bt===u)){if((!u||typeof u!="object")&&(u={}),u=re(u),It=vo.indexOf(u.PARSER_MEDIA_TYPE)===-1?ko:u.PARSER_MEDIA_TYPE,fe=It==="application/xhtml+xml"?b:f,pe=C(u,"ALLOWED_TAGS")?v({},u.ALLOWED_TAGS,fe):$i,ge=C(u,"ALLOWED_ATTR")?v({},u.ALLOWED_ATTR,fe):Pi,Zn=C(u,"ALLOWED_NAMESPACES")?v({},u.ALLOWED_NAMESPACES,b):Ao,qn=C(u,"ADD_URI_SAFE_ATTR")?v(re(Wi),u.ADD_URI_SAFE_ATTR,fe):Wi,Ki=C(u,"ADD_DATA_URI_TAGS")?v(re(qi),u.ADD_DATA_URI_TAGS,fe):qi,ht=C(u,"FORBID_CONTENTS")?v({},u.FORBID_CONTENTS,fe):Gi,Ct=C(u,"FORBID_TAGS")?v({},u.FORBID_TAGS,fe):{},Bn=C(u,"FORBID_ATTR")?v({},u.FORBID_ATTR,fe):{},ft=C(u,"USE_PROFILES")?u.USE_PROFILES:!1,Ui=u.ALLOW_ARIA_ATTR!==!1,zn=u.ALLOW_DATA_ATTR!==!1,Bi=u.ALLOW_UNKNOWN_PROTOCOLS||!1,zi=u.ALLOW_SELF_CLOSE_IN_ATTR!==!1,pt=u.SAFE_FOR_TEMPLATES||!1,Fn=u.SAFE_FOR_XML!==!1,Je=u.WHOLE_DOCUMENT||!1,gt=u.RETURN_DOM||!1,Jt=u.RETURN_DOM_FRAGMENT||!1,jt=u.RETURN_TRUSTED_TYPE||!1,Gn=u.FORCE_BODY||!1,Fi=u.SANITIZE_DOM!==!1,Hi=u.SANITIZE_NAMED_PROPS||!1,Kn=u.KEEP_CONTENT!==!1,Mt=u.IN_PLACE||!1,Di=u.ALLOWED_URI_REGEXP||Qe,mt=u.NAMESPACE||Pe,oe=u.CUSTOM_ELEMENT_HANDLING||{},u.CUSTOM_ELEMENT_HANDLING&&Yi(u.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(oe.tagNameCheck=u.CUSTOM_ELEMENT_HANDLING.tagNameCheck),u.CUSTOM_ELEMENT_HANDLING&&Yi(u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(oe.attributeNameCheck=u.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),u.CUSTOM_ELEMENT_HANDLING&&typeof u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(oe.allowCustomizedBuiltInElements=u.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),pt&&(zn=!1),Jt&&(gt=!0),ft&&(pe=v({},I),ge=[],ft.html===!0&&(v(pe,se),v(ge,y)),ft.svg===!0&&(v(pe,te),v(ge,_),v(ge,k)),ft.svgFilters===!0&&(v(pe,ae),v(ge,_),v(ge,k)),ft.mathMl===!0&&(v(pe,h),v(ge,E),v(ge,k))),u.ADD_TAGS&&(pe===$i&&(pe=re(pe)),v(pe,u.ADD_TAGS,fe)),u.ADD_ATTR&&(ge===Pi&&(ge=re(ge)),v(ge,u.ADD_ATTR,fe)),u.ADD_URI_SAFE_ATTR&&v(qn,u.ADD_URI_SAFE_ATTR,fe),u.FORBID_CONTENTS&&(ht===Gi&&(ht=re(ht)),v(ht,u.FORBID_CONTENTS,fe)),Kn&&(pe["#text"]=!0),Je&&v(pe,["html","head","body"]),pe.table&&(v(pe,["tbody"]),delete Ct.tbody),u.TRUSTED_TYPES_POLICY){if(typeof u.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof u.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Te=u.TRUSTED_TYPES_POLICY,Rt=Te.createHTML("")}else Te===void 0&&(Te=Ln(ut,ie)),Te!==null&&typeof Rt=="string"&&(Rt=Te.createHTML(""));s&&s(u),bt=u}},Vi=v({},["mi","mo","mn","ms","mtext"]),Xi=v({},["foreignobject","annotation-xml"]),Oo=v({},["title","style","font","a","script"]),Qi=v({},[...te,...ae,..._e]),Ji=v({},[...h,...T]),Ro=function(u){let m=Ot(u);(!m||!m.tagName)&&(m={namespaceURI:mt,tagName:"template"});let x=f(u.tagName),F=f(m.tagName);return Zn[u.namespaceURI]?u.namespaceURI===tn?m.namespaceURI===Pe?x==="svg":m.namespaceURI===en?x==="svg"&&(F==="annotation-xml"||Vi[F]):!!Qi[x]:u.namespaceURI===en?m.namespaceURI===Pe?x==="math":m.namespaceURI===tn?x==="math"&&Xi[F]:!!Ji[x]:u.namespaceURI===Pe?m.namespaceURI===tn&&!Xi[F]||m.namespaceURI===en&&!Vi[F]?!1:!Ji[x]&&(Oo[x]||!Qi[x]):!!(It==="application/xhtml+xml"&&Zn[u.namespaceURI]):!1},Re=function(u){p(N.removed,{element:u});try{u.parentNode.removeChild(u)}catch{u.remove()}},nn=function(u,m){try{p(N.removed,{attribute:m.getAttributeNode(u),from:m})}catch{p(N.removed,{attribute:null,from:m})}if(m.removeAttribute(u),u==="is"&&!ge[u])if(gt||Jt)try{Re(m)}catch{}else try{m.setAttribute(u,"")}catch{}},ji=function(u){let m=null,x=null;if(Gn)u=""+u;else{let he=S(u,/^[\r\n\t ]+/);x=he&&he[0]}It==="application/xhtml+xml"&&mt===Pe&&(u=''+u+"");let F=Te?Te.createHTML(u):u;if(mt===Pe)try{m=new Ie().parseFromString(F,It)}catch{}if(!m||!m.documentElement){m=Dn.createDocument(mt,"template",null);try{m.documentElement.innerHTML=Wn?Rt:F}catch{}}let ye=m.body||m.documentElement;return u&&x&&ye.insertBefore(R.createTextNode(x),ye.childNodes[0]||null),mt===Pe?_o.call(m,Je?"html":"body")[0]:Je?m.documentElement:ye},er=function(u){return mo.call(u.ownerDocument||u,u,U.SHOW_ELEMENT|U.SHOW_COMMENT|U.SHOW_TEXT|U.SHOW_PROCESSING_INSTRUCTION|U.SHOW_CDATA_SECTION,null)},tr=function(u){return u instanceof de&&(typeof u.__depth<"u"&&typeof u.__depth!="number"||typeof u.__removalCount<"u"&&typeof u.__removalCount!="number"||typeof u.nodeName!="string"||typeof u.textContent!="string"||typeof u.removeChild!="function"||!(u.attributes instanceof V)||typeof u.removeAttribute!="function"||typeof u.setAttribute!="function"||typeof u.namespaceURI!="string"||typeof u.insertBefore!="function"||typeof u.hasChildNodes!="function")},nr=function(u){return typeof w=="function"&&u instanceof w},Ue=function(u,m,x){De[u]&&l(De[u],F=>{F.call(N,m,x,bt)})},ir=function(u){let m=null;if(Ue("beforeSanitizeElements",u,null),tr(u))return Re(u),!0;let x=fe(u.nodeName);if(Ue("uponSanitizeElement",u,{tagName:x,allowedTags:pe}),u.hasChildNodes()&&!nr(u.firstElementChild)&&M(/<[/\w]/g,u.innerHTML)&&M(/<[/\w]/g,u.textContent)||u.nodeType===Ee.progressingInstruction||Fn&&u.nodeType===Ee.comment&&M(/<[/\w]/g,u.data))return Re(u),!0;if(!pe[x]||Ct[x]){if(!Ct[x]&&sr(x)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x)))return!1;if(Kn&&!ht[x]){let F=Ot(u)||u.parentNode,ye=ho(u)||u.childNodes;if(ye&&F){let he=ye.length;for(let Ne=he-1;Ne>=0;--Ne){let Ae=go(ye[Ne],!0);Ae.__removalCount=(u.__removalCount||0)+1,F.insertBefore(Ae,fo(u))}}}return Re(u),!0}return u instanceof O&&!Ro(u)||(x==="noscript"||x==="noembed"||x==="noframes")&&M(/<\/no(script|embed|frames)/i,u.innerHTML)?(Re(u),!0):(pt&&u.nodeType===Ee.text&&(m=u.textContent,l([$n,Pn,Un],F=>{m=A(m,F," ")}),u.textContent!==m&&(p(N.removed,{element:u.cloneNode()}),u.textContent=m)),Ue("afterSanitizeElements",u,null),!1)},rr=function(u,m,x){if(Fi&&(m==="id"||m==="name")&&(x in R||x in xo||x==="__depth"||x==="__removalCount"))return!1;if(!(zn&&!Bn[m]&&M(yo,m))){if(!(Ui&&M(To,m))){if(!ge[m]||Bn[m]){if(!(sr(u)&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,u)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(u))&&(oe.attributeNameCheck instanceof RegExp&&M(oe.attributeNameCheck,m)||oe.attributeNameCheck instanceof Function&&oe.attributeNameCheck(m))||m==="is"&&oe.allowCustomizedBuiltInElements&&(oe.tagNameCheck instanceof RegExp&&M(oe.tagNameCheck,x)||oe.tagNameCheck instanceof Function&&oe.tagNameCheck(x))))return!1}else if(!qn[m]){if(!M(Di,A(x,Li,""))){if(!((m==="src"||m==="xlink:href"||m==="href")&&u!=="script"&&z(x,"data:")===0&&Ki[u])){if(!(Bi&&!M(wo,A(x,Li,"")))){if(x)return!1}}}}}}return!0},sr=function(u){return u!=="annotation-xml"&&S(u,So)},ar=function(u){Ue("beforeSanitizeAttributes",u,null);let{attributes:m}=u;if(!m)return;let x={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge},F=m.length;for(;F--;){let ye=m[F],{name:he,namespaceURI:Ne,value:Ae}=ye,Lt=fe(he),we=he==="value"?Ae:Y(Ae);if(x.attrName=Lt,x.attrValue=we,x.keepAttr=!0,x.forceKeepAttr=void 0,Ue("uponSanitizeAttribute",u,x),we=x.attrValue,x.forceKeepAttr||(nn(he,u),!x.keepAttr))continue;if(!zi&&M(/\/>/i,we)){nn(he,u);continue}if(Fn&&M(/((--!?|])>)|<\/(style|title)/i,we)){nn(he,u);continue}pt&&l([$n,Pn,Un],cr=>{we=A(we,cr," ")});let or=fe(u.nodeName);if(rr(or,Lt,we)){if(Hi&&(Lt==="id"||Lt==="name")&&(nn(he,u),we=No+we),Te&&typeof ut=="object"&&typeof ut.getAttributeType=="function"&&!Ne)switch(ut.getAttributeType(or,Lt)){case"TrustedHTML":{we=Te.createHTML(we);break}case"TrustedScriptURL":{we=Te.createScriptURL(we);break}}try{Ne?u.setAttributeNS(Ne,he,we):u.setAttribute(he,we),tr(u)?Re(u):g(N.removed)}catch{}}}Ue("afterSanitizeAttributes",u,null)},Co=function L(u){let m=null,x=er(u);for(Ue("beforeSanitizeShadowDOM",u,null);m=x.nextNode();){if(Ue("uponSanitizeShadowNode",m,null),ir(m))continue;let F=Ot(m);m.nodeType===Ee.element&&(F&&F.__depth?m.__depth=(m.__removalCount||0)+F.__depth+1:m.__depth=1),(m.__depth>=Zi||m.__depth<0||G(m.__depth))&&Re(m),m.content instanceof ke&&(m.content.__depth=m.__depth,L(m.content)),ar(m)}Ue("afterSanitizeShadowDOM",u,null)};return N.sanitize=function(L){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},m=null,x=null,F=null,ye=null;if(Wn=!L,Wn&&(L=""),typeof L!="string"&&!nr(L))if(typeof L.toString=="function"){if(L=L.toString(),typeof L!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!N.isSupported)return L;if(Hn||Yn(u),N.removed=[],typeof L=="string"&&(Mt=!1),Mt){if(L.nodeName){let Ae=fe(L.nodeName);if(!pe[Ae]||Ct[Ae])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(L instanceof w)m=ji(""),x=m.ownerDocument.importNode(L,!0),x.nodeType===Ee.element&&x.nodeName==="BODY"||x.nodeName==="HTML"?m=x:m.appendChild(x);else{if(!gt&&!pt&&!Je&&L.indexOf("<")===-1)return Te&&jt?Te.createHTML(L):L;if(m=ji(L),!m)return gt?null:jt?Rt:""}m&&Gn&&Re(m.firstChild);let he=er(Mt?L:m);for(;F=he.nextNode();){if(ir(F))continue;let Ae=Ot(F);F.nodeType===Ee.element&&(Ae&&Ae.__depth?F.__depth=(F.__removalCount||0)+Ae.__depth+1:F.__depth=1),(F.__depth>=Zi||F.__depth<0||G(F.__depth))&&Re(F),F.content instanceof ke&&(F.content.__depth=F.__depth,Co(F.content)),ar(F)}if(Mt)return L;if(gt){if(Jt)for(ye=bo.call(m.ownerDocument);m.firstChild;)ye.appendChild(m.firstChild);else ye=m;return(ge.shadowroot||ge.shadowrootmode)&&(ye=Eo.call(q,ye,!0)),ye}let Ne=Je?m.outerHTML:m.innerHTML;return Je&&pe["!doctype"]&&m.ownerDocument&&m.ownerDocument.doctype&&m.ownerDocument.doctype.name&&M(ct,m.ownerDocument.doctype.name)&&(Ne=" +`+Ne),pt&&l([$n,Pn,Un],Ae=>{Ne=A(Ne,Ae," ")}),Te&&jt?Te.createHTML(Ne):Ne},N.setConfig=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(L),Hn=!0},N.clearConfig=function(){bt=null,Hn=!1},N.isValidAttribute=function(L,u,m){bt||Yn({});let x=fe(L),F=fe(u);return rr(x,F,m)},N.addHook=function(L,u){typeof u=="function"&&(De[L]=De[L]||[],p(De[L],u))},N.removeHook=function(L){if(De[L])return g(De[L])},N.removeHooks=function(L){De[L]&&(De[L]=[])},N.removeAllHooks=function(){De={}},N}var P=lt();return P})});var rn=globalThis,an=rn.ShadowRoot&&(rn.ShadyCSS===void 0||rn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,dr=Symbol(),ur=new WeakMap,sn=class{constructor(e,n,i){if(this._$cssResult$=!0,i!==dr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o,n=this.t;if(an&&e===void 0){let i=n!==void 0&&n.length===1;i&&(e=ur.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&ur.set(n,e))}return e}toString(){return this.cssText}},pr=t=>new sn(typeof t=="string"?t:t+"",void 0,dr);var Qn=(t,e)=>{if(an)t.adoptedStyleSheets=e.map(n=>n instanceof CSSStyleSheet?n:n.styleSheet);else for(let n of e){let i=document.createElement("style"),r=rn.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=n.cssText,t.appendChild(i)}},on=an?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(let i of e.cssRules)n+=i.cssText;return pr(n)})(t):t;var{is:Po,defineProperty:Uo,getOwnPropertyDescriptor:Bo,getOwnPropertyNames:zo,getOwnPropertySymbols:Fo,getPrototypeOf:Ho}=Object,cn=globalThis,gr=cn.trustedTypes,Go=gr?gr.emptyScript:"",Ko=cn.reactiveElementPolyfillSupport,Dt=(t,e)=>t,$t={toAttribute(t,e){switch(e){case Boolean:t=t?Go:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},ln=(t,e)=>!Po(t,e),fr={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln};Symbol.metadata??=Symbol("metadata"),cn.litPropertyMetadata??=new WeakMap;var Be=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,n=fr){if(n.state&&(n.attribute=!1),this._$Ei(),this.elementProperties.set(e,n),!n.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,n);r!==void 0&&Uo(this.prototype,e,r)}}static getPropertyDescriptor(e,n,i){let{get:r,set:s}=Bo(this.prototype,e)??{get(){return this[n]},set(a){this[n]=a}};return{get(){return r?.call(this)},set(a){let o=r?.call(this);s.call(this,a),this.requestUpdate(e,o,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??fr}static _$Ei(){if(this.hasOwnProperty(Dt("elementProperties")))return;let e=Ho(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Dt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Dt("properties"))){let n=this.properties,i=[...zo(n),...Fo(n)];for(let r of i)this.createProperty(r,n[r])}let e=this[Symbol.metadata];if(e!==null){let n=litPropertyMetadata.get(e);if(n!==void 0)for(let[i,r]of n)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[n,i]of this.elementProperties){let r=this._$Eu(n,i);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let n=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)n.unshift(on(r))}else e!==void 0&&n.push(on(e));return n}static _$Eu(e,n){let i=n.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,n=this.constructor.elementProperties;for(let i of n.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Qn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,n,i){this._$AK(e,i)}_$EC(e,n){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let s=(i.converter?.toAttribute!==void 0?i.converter:$t).toAttribute(n,i.type);this._$Em=e,s==null?this.removeAttribute(r):this.setAttribute(r,s),this._$Em=null}}_$AK(e,n){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let s=i.getPropertyOptions(r),a=typeof s.converter=="function"?{fromAttribute:s.converter}:s.converter?.fromAttribute!==void 0?s.converter:$t;this._$Em=r,this[r]=a.fromAttribute(n,s.type),this._$Em=null}}requestUpdate(e,n,i){if(e!==void 0){if(i??=this.constructor.getPropertyOptions(e),!(i.hasChanged??ln)(this[e],n))return;this.P(e,n,i)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(e,n,i){this._$AL.has(e)||this._$AL.set(e,n),i.reflect===!0&&this._$Em!==e&&(this._$Ej??=new Set).add(e)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,s]of this._$Ep)this[r]=s;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,s]of i)s.wrapped!==!0||this._$AL.has(r)||this[r]===void 0||this.P(r,this[r],s)}let e=!1,n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(n)):this._$EU()}catch(i){throw e=!1,this._$EU(),i}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach(n=>n.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Ej&&=this._$Ej.forEach(n=>this._$EC(n,this[n])),this._$EU()}updated(e){}firstUpdated(e){}};Be.elementStyles=[],Be.shadowRootOptions={mode:"open"},Be[Dt("elementProperties")]=new Map,Be[Dt("finalized")]=new Map,Ko?.({ReactiveElement:Be}),(cn.reactiveElementVersions??=[]).push("2.0.4");var ri=globalThis,un=ri.trustedTypes,hr=un?un.createPolicy("lit-html",{createHTML:t=>t}):void 0,Tr="$lit$",We=`lit$${Math.random().toFixed(9).slice(2)}$`,wr="?"+We,qo=`<${wr}>`,tt=document,Ut=()=>tt.createComment(""),Bt=t=>t===null||typeof t!="object"&&typeof t!="function",Sr=Array.isArray,Wo=t=>Sr(t)||typeof t?.[Symbol.iterator]=="function",Jn=`[ +\f\r]`,Pt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,mr=/-->/g,br=/>/g,je=RegExp(`>|${Jn}(?:([^\\s"'>=/]+)(${Jn}*=${Jn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),_r=/'/g,Er=/"/g,Nr=/^(?:script|style|textarea|title)$/i,Ar=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),Ze=Ar(1),Gu=Ar(2),ze=Symbol.for("lit-noChange"),ce=Symbol.for("lit-nothing"),yr=new WeakMap,et=tt.createTreeWalker(tt,129);function vr(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return hr!==void 0?hr.createHTML(e):e}var Zo=(t,e)=>{let n=t.length-1,i=[],r,s=e===2?"":"",a=Pt;for(let o=0;o"?(a=r??Pt,g=-1):l[1]===void 0?g=-2:(g=a.lastIndex-l[2].length,d=l[1],a=l[3]===void 0?je:l[3]==='"'?Er:_r):a===Er||a===_r?a=je:a===mr||a===br?a=Pt:(a=je,r=void 0);let f=a===je&&t[o+1].startsWith("/>")?" ":"";s+=a===Pt?c+qo:g>=0?(i.push(d),c.slice(0,g)+Tr+c.slice(g)+We+f):c+We+(g===-2?o:f)}return[vr(t,s+(t[n]||"")+(e===2?"":"")),i]},zt=class t{constructor({strings:e,_$litType$:n},i){let r;this.parts=[];let s=0,a=0,o=e.length-1,c=this.parts,[d,l]=Zo(e,n);if(this.el=t.createElement(d,i),et.currentNode=this.el.content,n===2){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=et.nextNode())!==null&&c.length0){r.textContent=un?un.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ce}_$AI(e,n=this,i,r){let s=this.strings,a=!1;if(s===void 0)e=_t(this,e,n,0),a=!Bt(e)||e!==this._$AH&&e!==ze,a&&(this._$AH=e);else{let o=e,c,d;for(e=s[0],c=0;c{let i=n?.renderBefore??e,r=i._$litPart$;if(r===void 0){let s=n?.renderBefore??null;i._$litPart$=r=new Ft(e.insertBefore(Ut(),s),s,void 0,n??{})}return r._$AI(t),r};var Ye=class extends Be{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=kr(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return ze}};Ye._$litElement$=!0,Ye["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:Ye});var Vo=globalThis.litElementPolyfillSupport;Vo?.({LitElement:Ye});(globalThis.litElementVersions??=[]).push("4.0.5");var xr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Or=t=>(...e)=>({_$litDirective$:t,values:e}),dn=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,i){this._$Ct=e,this._$AM=n,this._$Ci=i}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};var Ht=class extends dn{constructor(e){if(super(e),this.it=ce,e.type!==xr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ce||e==null)return this._t=void 0,this.it=e;if(e===ze)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let n=[e];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};Ht.directiveName="unsafeHTML",Ht.resultType=1;var nt=Or(Ht);var Xo={attribute:!0,type:String,converter:$t,reflect:!1,hasChanged:ln},Qo=(t=Xo,e,n)=>{let{kind:i,metadata:r}=n,s=globalThis.litPropertyMetadata.get(r);if(s===void 0&&globalThis.litPropertyMetadata.set(r,s=new Map),s.set(n.name,t),i==="accessor"){let{name:a}=n;return{set(o){let c=e.get.call(this);e.set.call(this,o),this.requestUpdate(a,c,t)},init(o){return o!==void 0&&this.P(a,void 0,t),o}}}if(i==="setter"){let{name:a}=n;return function(o){let c=this[a];e.call(this,o),this.requestUpdate(a,c,t)}}throw Error("Unsupported decorator location: "+i)};function be(t){return(e,n)=>typeof n=="object"?Qo(t,e,n):((i,r,s)=>{let a=r.hasOwnProperty(s);return r.constructor.createProperty(s,a?{...i,wrapped:!0}:i),a?Object.getOwnPropertyDescriptor(r,s):void 0})(t,e,n)}var co=Xn(Rr());var Ba=Xn(Ua(),1);var za=Ba.default;function yi(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var at=yi();function Wa(t){at=t}var Za=/[&<>"']/,jl=new RegExp(Za.source,"g"),Ya=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,eu=new RegExp(Ya.source,"g"),tu={"&":"&","<":"<",">":">",'"':""","'":"'"},Fa=t=>tu[t];function xe(t,e){if(e){if(Za.test(t))return t.replace(jl,Fa)}else if(Ya.test(t))return t.replace(eu,Fa);return t}var nu=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function iu(t){return t.replace(nu,(e,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}var ru=/(^|[^\[])\^/g;function j(t,e){let n=typeof t=="string"?t:t.source;e=e||"";let i={replace:(r,s)=>{let a=typeof s=="string"?s:s.source;return a=a.replace(ru,"$1"),n=n.replace(r,a),i},getRegex:()=>new RegExp(n,e)};return i}function Ha(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}var Zt={exec:()=>null};function Ga(t,e){let n=t.replace(/\|/g,(s,a,o)=>{let c=!1,d=a;for(;--d>=0&&o[d]==="\\";)c=!c;return c?"|":" |"}),i=n.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length{let s=r.match(/^\s+/);if(s===null)return r;let[a]=s;return a.length>=i.length?r.slice(i.length):r}).join(` `)}var At=class{options;rules;lexer;constructor(e){this.options=e||at}space(e){let n=this.rules.block.newline.exec(e);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(e){let n=this.rules.block.code.exec(e);if(n){let i=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?i:Nn(i,` `)}}}fences(e){let n=this.rules.block.fences.exec(e);if(n){let i=n[0],r=au(i,n[3]||"");return{type:"code",raw:i,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:r}}}heading(e){let n=this.rules.block.heading.exec(e);if(n){let i=n[2].trim();if(/#$/.test(i)){let r=Nn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let n=this.rules.block.hr.exec(e);if(n)return{type:"hr",raw:n[0]}}blockquote(e){let n=this.rules.block.blockquote.exec(e);if(n){let i=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` @@ -16,10 +16,10 @@ https://github.com/highlightjs/highlight.js/issues/2277`),_=h,y=T),I===void 0&&( `,1)[0];if(p=Z,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),C.test(p)||M.test(p)||z.test(p)||Y.test(e))break;if(p.search(/[^ ]/)>=f||!p.trim())c+=` `+p.slice(f);else{if(b||g.search(/[^ ]/)>=4||C.test(g)||M.test(g)||Y.test(g))break;c+=` `+p}!b&&!p.trim()&&(b=!0),o+=Z+` -`,e=e.substring(Z.length+1),g=p.slice(f)}}s.loose||(d?s.loose=!0:/\n *\n *$/.test(o)&&(d=!0));let S=null,A;this.options.gfm&&(S=/^\[[ xX]\] /.exec(c),S&&(A=S[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),s.items.push({type:"list_item",raw:o,task:!!S,checked:A,loose:!1,text:c,tokens:[]}),s.raw+=o}s.items[s.items.length-1].raw=o.trimEnd(),s.items[s.items.length-1].text=c.trimEnd(),s.raw=s.raw.trimEnd();for(let l=0;lf.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));s.loose=p}if(s.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:i,raw:n[0],href:r,title:s}}}table(e){let n=this.rules.block.table.exec(e);if(!n||!/[:|]/.test(n[2]))return;let i=Fa(n[1]),r=n[2].replace(/^\||\| *$/g,"").split("|"),s=n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` -`):[],a={type:"table",raw:n[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let o of r)/^ *-+: *$/.test(o)?a.align.push("right"):/^ *:-+: *$/.test(o)?a.align.push("center"):/^ *:-+ *$/.test(o)?a.align.push("left"):a.align.push(null);for(let o of i)a.header.push({text:o,tokens:this.lexer.inline(o)});for(let o of s)a.rows.push(Fa(o,a.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return a}}lheading(e){let n=this.rules.block.lheading.exec(e);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(e){let n=this.rules.block.paragraph.exec(e);if(n){let i=n[1].charAt(n[1].length-1)===` -`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let n=this.rules.block.text.exec(e);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(e){let n=this.rules.inline.escape.exec(e);if(n)return{type:"escape",raw:n[0],text:xe(n[1])}}tag(e){let n=this.rules.inline.tag.exec(e);if(n)return!this.lexer.state.inLink&&/^
    /i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(e){let n=this.rules.inline.link.exec(e);if(n){let i=n[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let a=Nn(i.slice(0,-1),"\\");if((i.length-a.length)%2===0)return}else{let a=su(n[2],"()");if(a>-1){let c=(n[0].indexOf("!")===0?5:4)+n[1].length+a;n[2]=n[2].substring(0,a),n[0]=n[0].substring(0,c).trim(),n[3]=""}}let r=n[2],s="";if(this.options.pedantic){let a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);a&&(r=a[1],s=a[3])}else s=n[3]?n[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),Ha(n,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer)}}reflink(e,n){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),s=n[r.toLowerCase()];if(!s){let a=i[0].charAt(0);return{type:"text",raw:a,text:a}}return Ha(i,s,i[0],this.lexer)}}emStrong(e,n,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let a=[...r[0]].length-1,o,c,d=a,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,n=n.slice(-1*e.length+a);(r=g.exec(n))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(c=[...o].length,r[3]||r[4]){d+=c;continue}else if((r[5]||r[6])&&a%3&&!((a+c)%3)){l+=c;continue}if(d-=c,d>0)continue;c=Math.min(c,c+d+l);let p=[...r[0]][0].length,f=e.slice(0,a+r.index+p+c);if(Math.min(a,c)%2){let S=f.slice(1,-1);return{type:"em",raw:f,text:S,tokens:this.lexer.inlineTokens(S)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let n=this.rules.inline.code.exec(e);if(n){let i=n[2].replace(/\n/g," "),r=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return r&&s&&(i=i.substring(1,i.length-1)),i=xe(i,!0),{type:"codespan",raw:n[0],text:i}}}br(e){let n=this.rules.inline.br.exec(e);if(n)return{type:"br",raw:n[0]}}del(e){let n=this.rules.inline.del.exec(e);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(e){let n=this.rules.inline.autolink.exec(e);if(n){let i,r;return n[2]==="@"?(i=xe(n[1]),r="mailto:"+i):(i=xe(n[1]),r=i),{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let n;if(n=this.rules.inline.url.exec(e)){let i,r;if(n[2]==="@")i=xe(n[0]),r="mailto:"+i;else{let s;do s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])?.[0]??"";while(s!==n[0]);i=xe(n[0]),n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let n=this.rules.inline.text.exec(e);if(n){let i;return this.lexer.state.inRawBlock?i=n[0]:i=xe(n[0]),{type:"text",raw:n[0],text:i}}}},ou=/^(?: *(?:\n|$))+/,cu=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,lu=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Vt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,uu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Za=/(?:[*+-]|\d{1,9}[.)])/,Ya=j(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Za).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Ei=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,du=/^[^\n]+/,yi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,pu=j(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",yi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gu=j(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Za).getRegex(),kn="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ti=/|$))/,fu=j("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Ti).replace("tag",kn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Va=j(Ei).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),hu=j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Va).getRegex(),wi={blockquote:hu,code:cu,def:pu,fences:lu,heading:uu,hr:Vt,html:fu,lheading:Ya,list:gu,newline:ou,paragraph:Va,table:Zt,text:du},Ga=j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),mu={...wi,table:Ga,paragraph:j(Ei).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Ga).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex()},bu={...wi,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ti).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zt,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(Ei).replace("hr",Vt).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",Ya).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Xa=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_u=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Qa=/^( {2,}|\\)\n(?!\s*$)/,Eu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wu=j(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xt).getRegex(),Su=j("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xt).getRegex(),Nu=j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xt).getRegex(),Au=j(/\\([punct])/,"gu").replace(/punct/g,Xt).getRegex(),vu=j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ku=j(Ti).replace("(?:-->|$)","-->").getRegex(),xu=j("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ku).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),vn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ou=j(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",vn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ja=j(/^!?\[(label)\]\[(ref)\]/).replace("label",vn).replace("ref",yi).getRegex(),ja=j(/^!?\[(ref)\](?:\[\])?/).replace("ref",yi).getRegex(),Ru=j("reflink|nolink(?!\\()","g").replace("reflink",Ja).replace("nolink",ja).getRegex(),Si={_backpedal:Zt,anyPunctuation:Au,autolink:vu,blockSkip:Tu,br:Qa,code:_u,del:Zt,emStrongLDelim:wu,emStrongRDelimAst:Su,emStrongRDelimUnd:Nu,escape:Xa,link:Ou,nolink:ja,punctuation:yu,reflink:Ja,reflinkSearch:Ru,tag:xu,text:Eu,url:Zt},Cu={...Si,link:j(/^!?\[(label)\]\((.*?)\)/).replace("label",vn).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",vn).getRegex()},mi={...Si,escape:j(Xa).replace("])","~|])").getRegex(),url:j(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\f.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));s.loose=p}if(s.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):n[3];return{type:"def",tag:i,raw:n[0],href:r,title:s}}}table(e){let n=this.rules.block.table.exec(e);if(!n||!/[:|]/.test(n[2]))return;let i=Ga(n[1]),r=n[2].replace(/^\||\| *$/g,"").split("|"),s=n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` +`):[],a={type:"table",raw:n[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let o of r)/^ *-+: *$/.test(o)?a.align.push("right"):/^ *:-+: *$/.test(o)?a.align.push("center"):/^ *:-+ *$/.test(o)?a.align.push("left"):a.align.push(null);for(let o of i)a.header.push({text:o,tokens:this.lexer.inline(o)});for(let o of s)a.rows.push(Ga(o,a.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return a}}lheading(e){let n=this.rules.block.lheading.exec(e);if(n)return{type:"heading",raw:n[0],depth:n[2].charAt(0)==="="?1:2,text:n[1],tokens:this.lexer.inline(n[1])}}paragraph(e){let n=this.rules.block.paragraph.exec(e);if(n){let i=n[1].charAt(n[1].length-1)===` +`?n[1].slice(0,-1):n[1];return{type:"paragraph",raw:n[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let n=this.rules.block.text.exec(e);if(n)return{type:"text",raw:n[0],text:n[0],tokens:this.lexer.inline(n[0])}}escape(e){let n=this.rules.inline.escape.exec(e);if(n)return{type:"escape",raw:n[0],text:xe(n[1])}}tag(e){let n=this.rules.inline.tag.exec(e);if(n)return!this.lexer.state.inLink&&/^/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:n[0]}}link(e){let n=this.rules.inline.link.exec(e);if(n){let i=n[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let a=Nn(i.slice(0,-1),"\\");if((i.length-a.length)%2===0)return}else{let a=su(n[2],"()");if(a>-1){let c=(n[0].indexOf("!")===0?5:4)+n[1].length+a;n[2]=n[2].substring(0,a),n[0]=n[0].substring(0,c).trim(),n[3]=""}}let r=n[2],s="";if(this.options.pedantic){let a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);a&&(r=a[1],s=a[3])}else s=n[3]?n[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),Ka(n,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},n[0],this.lexer)}}reflink(e,n){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),s=n[r.toLowerCase()];if(!s){let a=i[0].charAt(0);return{type:"text",raw:a,text:a}}return Ka(i,s,i[0],this.lexer)}}emStrong(e,n,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let a=[...r[0]].length-1,o,c,d=a,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,n=n.slice(-1*e.length+a);(r=g.exec(n))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(c=[...o].length,r[3]||r[4]){d+=c;continue}else if((r[5]||r[6])&&a%3&&!((a+c)%3)){l+=c;continue}if(d-=c,d>0)continue;c=Math.min(c,c+d+l);let p=[...r[0]][0].length,f=e.slice(0,a+r.index+p+c);if(Math.min(a,c)%2){let S=f.slice(1,-1);return{type:"em",raw:f,text:S,tokens:this.lexer.inlineTokens(S)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let n=this.rules.inline.code.exec(e);if(n){let i=n[2].replace(/\n/g," "),r=/[^ ]/.test(i),s=/^ /.test(i)&&/ $/.test(i);return r&&s&&(i=i.substring(1,i.length-1)),i=xe(i,!0),{type:"codespan",raw:n[0],text:i}}}br(e){let n=this.rules.inline.br.exec(e);if(n)return{type:"br",raw:n[0]}}del(e){let n=this.rules.inline.del.exec(e);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(e){let n=this.rules.inline.autolink.exec(e);if(n){let i,r;return n[2]==="@"?(i=xe(n[1]),r="mailto:"+i):(i=xe(n[1]),r=i),{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let n;if(n=this.rules.inline.url.exec(e)){let i,r;if(n[2]==="@")i=xe(n[0]),r="mailto:"+i;else{let s;do s=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])?.[0]??"";while(s!==n[0]);i=xe(n[0]),n[1]==="www."?r="http://"+n[0]:r=n[0]}return{type:"link",raw:n[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let n=this.rules.inline.text.exec(e);if(n){let i;return this.lexer.state.inRawBlock?i=n[0]:i=xe(n[0]),{type:"text",raw:n[0],text:i}}}},ou=/^(?: *(?:\n|$))+/,cu=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,lu=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Vt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,uu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Va=/(?:[*+-]|\d{1,9}[.)])/,Xa=j(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Va).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Ti=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,du=/^[^\n]+/,wi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,pu=j(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",wi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gu=j(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Va).getRegex(),kn="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Si=/|$))/,fu=j("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Si).replace("tag",kn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Qa=j(Ti).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),hu=j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Qa).getRegex(),Ni={blockquote:hu,code:cu,def:pu,fences:lu,heading:uu,hr:Vt,html:fu,lheading:Xa,list:gu,newline:ou,paragraph:Qa,table:Zt,text:du},qa=j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex(),mu={...Ni,table:qa,paragraph:j(Ti).replace("hr",Vt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",qa).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",kn).getRegex()},bu={...Ni,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Si).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Zt,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(Ti).replace("hr",Vt).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Xa).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ja=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_u=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ja=/^( {2,}|\\)\n(?!\s*$)/,Eu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wu=j(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Xt).getRegex(),Su=j("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Xt).getRegex(),Nu=j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Xt).getRegex(),Au=j(/\\([punct])/,"gu").replace(/punct/g,Xt).getRegex(),vu=j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ku=j(Si).replace("(?:-->|$)","-->").getRegex(),xu=j("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",ku).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),vn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ou=j(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",vn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),eo=j(/^!?\[(label)\]\[(ref)\]/).replace("label",vn).replace("ref",wi).getRegex(),to=j(/^!?\[(ref)\](?:\[\])?/).replace("ref",wi).getRegex(),Ru=j("reflink|nolink(?!\\()","g").replace("reflink",eo).replace("nolink",to).getRegex(),Ai={_backpedal:Zt,anyPunctuation:Au,autolink:vu,blockSkip:Tu,br:ja,code:_u,del:Zt,emStrongLDelim:wu,emStrongRDelimAst:Su,emStrongRDelimUnd:Nu,escape:Ja,link:Ou,nolink:to,punctuation:yu,reflink:eo,reflinkSearch:Ru,tag:xu,text:Eu,url:Zt},Cu={...Ai,link:j(/^!?\[(label)\]\((.*?)\)/).replace("label",vn).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",vn).getRegex()},_i={...Ai,escape:j(Ja).replace("])","~|])").getRegex(),url:j(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(d.length));let i,r,s,a;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(o=>(i=o.call({lexer:this},e,n))?(e=e.substring(i.raw.length),n.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&n.length>0?n[n.length-1].raw+=` `:n.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),r=n[n.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` @@ -47,9 +47,9 @@ ${e} `}tablerow(e){return` ${e} `}tablecell(e,n){let i=n.header?"th":"td";return(n.align?`<${i} align="${n.align}">`:`<${i}>`)+e+` -`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,n,i){let r=za(e);if(r===null)return i;e=r;let s='
    ",s}image(e,n,i){let r=za(e);if(r===null)return i;e=r;let s=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=A+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=A+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:A+" "}):S+=A+" "}S+=this.parse(p.tokens,d),l+=this.renderer.listitem(S,b,!!f)}i+=this.renderer.list(l,o,c);continue}case"html":{let a=s;i+=this.renderer.html(a.text,a.block);continue}case"paragraph":{let a=s;i+=this.renderer.paragraph(this.parseInline(a.tokens));continue}case"text":{let a=s,o=a.tokens?this.parseInline(a.tokens):a.text;for(;r+1{let o=s[a].flat(1/0);i=i.concat(this.walkTokens(o,n))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,n)))}}return i}use(...e){let n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=n.renderers[s.name];a?n.renderers[s.name]=function(...o){let c=s.renderer.apply(this,o);return c===!1&&(c=a.apply(this,o)),c}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=n[s.level];a?a.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),r.extensions=n),i.renderer){let s=this.defaults.renderer||new Ke(this.defaults);for(let a in i.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.renderer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g||""}}r.renderer=s}if(i.tokenizer){let s=this.defaults.tokenizer||new At(this.defaults);for(let a in i.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let o=a,c=i.tokenizer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.tokenizer=s}if(i.hooks){let s=this.defaults.hooks||new Nt;for(let a in i.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.hooks[o],d=s[o];Nt.passThroughHooks.has(a)?s[o]=l=>{if(this.defaults.async)return Promise.resolve(c.call(s,l)).then(p=>d.call(s,p));let g=c.call(s,l);return d.call(s,g)}:s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.hooks=s}if(i.walkTokens){let s=this.defaults.walkTokens,a=i.walkTokens;r.walkTokens=function(o){let c=[];return c.push(a.call(this,o)),s&&(c=c.concat(s.call(this,o))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return He.lex(e,n??this.defaults)}parser(e,n){return Ge.parse(e,n??this.defaults)}#t(e,n){return(i,r)=>{let s={...r},a={...this.defaults,...s};this.defaults.async===!0&&s.async===!1&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);let o=this.#e(!!a.silent,!!a.async);if(typeof i>"u"||i===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(i):i).then(c=>e(c,a)).then(c=>a.hooks?a.hooks.processAllTokens(c):c).then(c=>a.walkTokens?Promise.all(this.walkTokens(c,a.walkTokens)).then(()=>c):c).then(c=>n(c,a)).then(c=>a.hooks?a.hooks.postprocess(c):c).catch(o);try{a.hooks&&(i=a.hooks.preprocess(i));let c=e(i,a);a.hooks&&(c=a.hooks.processAllTokens(c)),a.walkTokens&&this.walkTokens(c,a.walkTokens);let d=n(c,a);return a.hooks&&(d=a.hooks.postprocess(d)),d}catch(c){return o(c)}}}#e(e,n){return i=>{if(i.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let r="

    An error occurred:

    "+xe(i.message+"",!0)+"
    ";return n?Promise.resolve(r):r}if(n)return Promise.reject(i);throw i}}},st=new bi;function Q(t,e){return st.parse(t,e)}Q.options=Q.setOptions=function(t){return st.setOptions(t),Q.defaults=st.defaults,Ka(Q.defaults),Q};Q.getDefaults=_i;Q.defaults=at;Q.use=function(...t){return st.use(...t),Q.defaults=st.defaults,Ka(Q.defaults),Q};Q.walkTokens=function(t,e){return st.walkTokens(t,e)};Q.parseInline=st.parseInline;Q.Parser=Ge;Q.parser=Ge.parse;Q.Renderer=Ke;Q.TextRenderer=Yt;Q.Lexer=He;Q.lexer=He.lex;Q.Tokenizer=At;Q.Hooks=Nt;Q.parse=Q;var _p=Q.options,Ep=Q.setOptions,yp=Q.use,Tp=Q.walkTokens,wp=Q.parseInline,Ni=Q,Sp=Ge.parse,Np=He.lex;var to=Yn(eo());function vt(t,e){let n=document.createElement(t);for(let[i,r]of Object.entries(e)){let s=i.replace(/_/g,"-");r!==null&&n.setAttribute(s,r)}return n}function no(t){return new DOMParser().parseFromString(t,"image/svg+xml").documentElement}var $e=class extends Ye{createRenderRoot(){return this}};function Xe({headline:t="",message:e,status:n="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t,message:e,status:n}}))}async function xn(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(e){Xe({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function On(t){return io.sanitize(t,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var io=(0,to.default)();io.addHook("uponSanitizeElement",(t,e)=>{if(t.nodeName&&t.nodeName==="SCRIPT"){let n=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=n}});function ro(t){return function(e,n,i){let r=i.value,s;return i.value=function(...a){s&&window.clearTimeout(s),s=window.setTimeout(()=>{r.apply(this,a),s=void 0},t)},i}}var ki="shiny-chat-message",ao="shiny-user-message",xi="shiny-chat-messages",oo="shiny-chat-input",Ri="shiny-chat-container",so={robot:'',dots_fade:''},ot=class extends $e{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?so.dots_fade:this.icon||so.robot;return Ze` +`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
    "}del(e){return`${e}`}link(e,n,i){let r=Ha(e);if(r===null)return i;e=r;let s='
    ",s}image(e,n,i){let r=Ha(e);if(r===null)return i;e=r;let s=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=A+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=A+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:A+" "}):S+=A+" "}S+=this.parse(p.tokens,d),l+=this.renderer.listitem(S,b,!!f)}i+=this.renderer.list(l,o,c);continue}case"html":{let a=s;i+=this.renderer.html(a.text,a.block);continue}case"paragraph":{let a=s;i+=this.renderer.paragraph(this.parseInline(a.tokens));continue}case"text":{let a=s,o=a.tokens?this.parseInline(a.tokens):a.text;for(;r+1{let o=s[a].flat(1/0);i=i.concat(this.walkTokens(o,n))}):s.tokens&&(i=i.concat(this.walkTokens(s.tokens,n)))}}return i}use(...e){let n=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let a=n.renderers[s.name];a?n.renderers[s.name]=function(...o){let c=s.renderer.apply(this,o);return c===!1&&(c=a.apply(this,o)),c}:n.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=n[s.level];a?a.unshift(s.tokenizer):n[s.level]=[s.tokenizer],s.start&&(s.level==="block"?n.startBlock?n.startBlock.push(s.start):n.startBlock=[s.start]:s.level==="inline"&&(n.startInline?n.startInline.push(s.start):n.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(n.childTokens[s.name]=s.childTokens)}),r.extensions=n),i.renderer){let s=this.defaults.renderer||new Ke(this.defaults);for(let a in i.renderer){if(!(a in s))throw new Error(`renderer '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.renderer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g||""}}r.renderer=s}if(i.tokenizer){let s=this.defaults.tokenizer||new At(this.defaults);for(let a in i.tokenizer){if(!(a in s))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let o=a,c=i.tokenizer[o],d=s[o];s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.tokenizer=s}if(i.hooks){let s=this.defaults.hooks||new Nt;for(let a in i.hooks){if(!(a in s))throw new Error(`hook '${a}' does not exist`);if(a==="options")continue;let o=a,c=i.hooks[o],d=s[o];Nt.passThroughHooks.has(a)?s[o]=l=>{if(this.defaults.async)return Promise.resolve(c.call(s,l)).then(p=>d.call(s,p));let g=c.call(s,l);return d.call(s,g)}:s[o]=(...l)=>{let g=c.apply(s,l);return g===!1&&(g=d.apply(s,l)),g}}r.hooks=s}if(i.walkTokens){let s=this.defaults.walkTokens,a=i.walkTokens;r.walkTokens=function(o){let c=[];return c.push(a.call(this,o)),s&&(c=c.concat(s.call(this,o))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,n){return He.lex(e,n??this.defaults)}parser(e,n){return Ge.parse(e,n??this.defaults)}#t(e,n){return(i,r)=>{let s={...r},a={...this.defaults,...s};this.defaults.async===!0&&s.async===!1&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);let o=this.#e(!!a.silent,!!a.async);if(typeof i>"u"||i===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(i):i).then(c=>e(c,a)).then(c=>a.hooks?a.hooks.processAllTokens(c):c).then(c=>a.walkTokens?Promise.all(this.walkTokens(c,a.walkTokens)).then(()=>c):c).then(c=>n(c,a)).then(c=>a.hooks?a.hooks.postprocess(c):c).catch(o);try{a.hooks&&(i=a.hooks.preprocess(i));let c=e(i,a);a.hooks&&(c=a.hooks.processAllTokens(c)),a.walkTokens&&this.walkTokens(c,a.walkTokens);let d=n(c,a);return a.hooks&&(d=a.hooks.postprocess(d)),d}catch(c){return o(c)}}}#e(e,n){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let r="

    An error occurred:

    "+xe(i.message+"",!0)+"
    ";return n?Promise.resolve(r):r}if(n)return Promise.reject(i);throw i}}},st=new Ei;function Q(t,e){return st.parse(t,e)}Q.options=Q.setOptions=function(t){return st.setOptions(t),Q.defaults=st.defaults,Wa(Q.defaults),Q};Q.getDefaults=yi;Q.defaults=at;Q.use=function(...t){return st.use(...t),Q.defaults=st.defaults,Wa(Q.defaults),Q};Q.walkTokens=function(t,e){return st.walkTokens(t,e)};Q.parseInline=st.parseInline;Q.Parser=Ge;Q.parser=Ge.parse;Q.Renderer=Ke;Q.TextRenderer=Yt;Q.Lexer=He;Q.lexer=He.lex;Q.Tokenizer=At;Q.Hooks=Nt;Q.parse=Q;var _p=Q.options,Ep=Q.setOptions,yp=Q.use,Tp=Q.walkTokens,wp=Q.parseInline,vi=Q,Sp=Ge.parse,Np=He.lex;var io=Xn(no());function vt(t,e){let n=document.createElement(t);for(let[i,r]of Object.entries(e)){let s=i.replace(/_/g,"-");r!==null&&n.setAttribute(s,r)}return n}function ro(t){return new DOMParser().parseFromString(t,"image/svg+xml").documentElement}var $e=class extends Ye{createRenderRoot(){return this}};function Xe({headline:t="",message:e,status:n="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t,message:e,status:n}}))}async function xn(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(e){Xe({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function On(t){return so.sanitize(t,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var so=(0,io.default)();so.addHook("uponSanitizeElement",(t,e)=>{if(t.nodeName&&t.nodeName==="SCRIPT"){let n=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=n}});function ao(t){return function(e,n,i){let r=i.value,s;return i.value=function(...a){s&&window.clearTimeout(s),s=window.setTimeout(()=>{r.apply(this,a),s=void 0},t)},i}}var Mn="shiny-chat-message",Oi="shiny-user-message",Ri="shiny-chat-messages",Ci="shiny-chat-input",In="shiny-chat-container",oo={robot:'',dots_fade:''},ot=class extends $e{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?oo.dots_fade:this.icon||oo.robot;return Ze`
    ${nt(i)}
    - `}};me([be()],Rn.prototype,"content",2);var Oi=class extends $e{render(){return Ze``}},Qt=class extends $e{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(n){let i=this._disabled;n!==i&&(this._disabled=n,n?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#e())}attributeChangedCallback(n,i,r){super.attributeChangedCallback(n,i,r),n==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let n='';return Ze` + `}};me([be()],Rn.prototype,"content",2);var Mi=class extends $e{render(){return Ze``}},Qt=class extends $e{constructor(){super(...arguments);this._disabled=!1;this.placeholder="Enter a message..."}get disabled(){return this._disabled}set disabled(n){let i=this._disabled;n!==i&&(this._disabled=n,n?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#e())}attributeChangedCallback(n,i,r){super.attributeChangedCallback(n,i,r),n==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){let n='';return Ze` \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], - "mappings": "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,EAED,IAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBL,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMM,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAV,EAAK,YACLE,CACF,CACF,EACMS,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBZ,EAAK,QAAQ,CACjC,OAAQ,IAAIW,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMc,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAZ,EAAK,QAAQ,EACba,EACAH,EACAV,EAAK,kBACLK,EACAW,EACAV,EACAC,EACAC,EACAC,EACAP,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCtYjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,IACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAGIE,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAsEhEc,EAAW,CACf,QArEiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EA6BE,KA3Bc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,WACA,aACA,aACA,aACA,cAEA,QACA,SAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMX,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOX,EACP,SAAUW,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQY,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRZ,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUO,EACV,UAAW,EACX,SAAU,CACR,OACAZ,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOX,EAAK,SAAW,KACvB,SAAUc,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCd,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcW,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAhB,GAAO,QAAUC,KC7TjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAEIE,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEc,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOhB,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMmB,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMY,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,GAAuB,CAC3B,UAAW,WACX,MAAO,IAAMhB,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOf,EACP,SAAUe,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRhB,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUW,EACV,UAAW,EACX,SAAU,CACR,OACAhB,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,EACAC,GACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAX,CACF,CACF,EACA,CACE,MAAOP,EAAK,SAAW,KACvB,SAAUkB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEApB,GAAO,QAAUC,KCvjBjB,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBV,EAAK,QAAQS,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUL,CACZ,EACMM,EAAcZ,EAAK,QAAQW,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBb,EAAK,iBACLY,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqCf,EAAK,QAAQc,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAY,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMgB,EAAS,CAAE,SAAU,CACzBF,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIiB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BV,CACF,CACF,EACMW,EAAgBlB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFmB,EAAgB,CAGpB,MAAO,IAAMnB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAgB,EACAR,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMkB,EAAgB,SAAWlB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLiB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUX,EACV,UAAW,EACX,SAAU,CACRU,EACAR,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAmB,CACF,CACF,CACF,CAEArB,GAAO,QAAUC,KC/YjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAUV,SAASC,GAAIN,EAAM,CACjB,IAAMO,EAAQP,EAAK,MACbQ,EAAQT,GAAMC,CAAI,EAClBS,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdb,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRQ,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAH,GAAO,QAAUQ,KCjuBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EA+BtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CApCG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAkBIX,EACAG,EACAI,EACAC,EAnBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAgBIT,EACAD,EACAK,EACAF,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KChPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EAIlB,IAAMC,EAAgB,QAEhBC,GAAiB,kCACjBC,EAAa,iDAEbC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUJ,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAAOC,EAAgB,IAAMC,GAAiB,IAAMC,EAAa,WACxE,OAAQ,CACN,IAAK,IACL,SAAUb,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOmB,EAAW,EAClB,OAAOX,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOA,EAAK,YAAc,MAC1B,UAAW,CACb,EACAA,EAAK,aACP,CACF,EACA,CAAE,MAAO,IACT,EA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AAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAoE3FE,EAAW,CACf,QApEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,SACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KChSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA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B,IACtH,EACMQ,EAAa,CACjB,UAAW,OACX,MAAO,IAAMR,EAAK,oBAClB,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,QAAQM,EAAQ,CAAE,UAAW,QAAS,CAAC,EAC5C,MACF,CACF,CACF,CACF,EAKMG,EAAqBX,GACrBY,EAAwBV,EAAK,QACjC,OAAQ,OACR,CAAE,SAAU,CAAEA,EAAK,oBAAqB,CAAE,CAC5C,EACMW,EAAoB,CAAE,SAAU,CACpC,CACE,UAAW,OACX,MAAOX,EAAK,mBACd,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAC,CACb,CACF,CAAE,EACIY,EAAqBD,EAC3B,OAAAC,EAAmB,SAAS,CAAC,EAAE,SAAW,CAAED,CAAkB,EAC9DA,EAAkB,SAAS,CAAC,EAAE,SAAW,CAAEC,CAAmB,EAEvD,CACL,KAAM,SACN,QAAS,CACP,KACA,KACF,EACA,SAAUX,EACV,SAAU,CACRD,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EACAA,EAAK,oBACLU,EACAR,EACAC,EACAI,EACAC,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,QACL,YAAa,GACb,WAAY,GACZ,SAAUP,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAOD,EAAK,oBAAsB,UAClC,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAGJC,GAAmBH,GAAe,OAAOC,EAAe,EAY9D,SAASG,GAAKP,EAAM,CAClB,IAAMQ,EAAQT,GAAMC,CAAI,EAClBS,EAAqBH,GAErBI,EAAe,kBACfC,EAAW,UACXC,EAAkB,IAAMD,EAAW,QAAUA,EAAW,OAIxDE,EAAQ,CAAC,EAASC,EAAc,CAAC,EAEjCC,EAAc,SAASC,EAAG,CAC9B,MAAO,CAEL,UAAW,SACX,MAAO,KAAOA,EAAI,MAAQA,CAC5B,CACF,EAEMC,EAAa,SAASC,EAAMC,EAAOC,EAAW,CAClD,MAAO,CACL,UAAWF,EACX,MAAOC,EACP,UAAWC,CACb,CACF,EAEMC,EAAc,CAClB,SAAU,UACV,QAASX,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EAEMoB,EAAc,CAElB,MAAO,MACP,IAAK,MACL,SAAUR,EACV,SAAUO,EACV,UAAW,CACb,EAGAP,EAAY,KACVd,EAAK,oBACLA,EAAK,qBACLe,EAAY,GAAG,EACfA,EAAY,GAAG,EACfP,EAAM,gBACN,CACE,MAAO,oBACP,OAAQ,CACN,UAAW,SACX,IAAK,WACL,WAAY,EACd,CACF,EACAA,EAAM,SACNc,EACAL,EAAW,WAAY,MAAQN,EAAU,EAAE,EAC3CM,EAAW,WAAY,OAASN,EAAW,KAAK,EAChDM,EAAW,WAAY,YAAY,EACnC,CACE,UAAW,YACX,MAAON,EAAW,QAClB,IAAK,IACL,YAAa,GACb,WAAY,EACd,EACAH,EAAM,UACN,CAAE,cAAe,SAAU,EAC3BA,EAAM,iBACR,EAEA,IAAMe,EAAsBT,EAAY,OAAO,CAC7C,MAAO,KACP,IAAK,KACL,SAAUD,CACZ,CAAC,EAEKW,EAAmB,CACvB,cAAe,OACf,eAAgB,GAChB,SAAU,CAAE,CAAE,cAAe,SAAU,CAAE,EAAE,OAAOV,CAAW,CAC/D,EAIMW,EAAY,CAChB,MAAOb,EAAkB,QACzB,YAAa,GACb,IAAK,OACL,UAAW,EACX,SAAU,CACR,CAAE,MAAO,qBAAsB,EAC/BJ,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,OACvC,IAAK,QACL,OAAQ,CACN,eAAgB,GAChB,QAAS,QACT,UAAW,EACX,SAAUS,CACZ,CACF,CACF,CACF,EAEMY,EAAe,CACnB,UAAW,UACX,MAAO,2GACP,OAAQ,CACN,IAAK,QACL,SAAUL,EACV,UAAW,GACX,SAAUP,EACV,UAAW,CACb,CACF,EAGMa,EAAgB,CACpB,UAAW,WACX,SAAU,CAKR,CACE,MAAO,IAAMhB,EAAW,QACxB,UAAW,EACb,EACA,CAAE,MAAO,IAAMA,CAAS,CAC1B,EACA,OAAQ,CACN,IAAK,OACL,UAAW,GACX,SAAUY,CACZ,CACF,EAEMK,EAAgB,CAIpB,SAAU,CACR,CACE,MAAO,eACP,IAAK,OACP,EACA,CACE,MAAOhB,EACP,IAAK,IACP,CACF,EACA,YAAa,GACb,UAAW,GACX,QAAS,UACT,UAAW,EACX,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBACLwB,EACAP,EAAW,UAAW,QAAQ,EAC9BA,EAAW,WAAY,OAASN,EAAW,KAAK,EAEhD,CACE,MAAO,OAASV,GAAK,KAAK,GAAG,EAAI,OACjC,UAAW,cACb,EACAO,EAAM,gBACNS,EAAW,eAAgBL,EAAiB,CAAC,EAC7CK,EAAW,cAAe,IAAML,CAAe,EAC/CK,EAAW,iBAAkB,MAAQL,EAAiB,CAAC,EACvDK,EAAW,eAAgB,IAAK,CAAC,EACjCT,EAAM,wBACN,CACE,UAAW,kBACX,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAC3C,EACA,CACE,UAAW,kBACX,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAChD,EACA,CACE,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUmB,CACZ,EACA,CAAE,MAAO,YAAa,EACtBf,EAAM,iBACR,CACF,EAEMqB,EAAuB,CAC3B,MAAOlB,EAAW,SAAcF,EAAmB,KAAK,GAAG,CAAC,IAC5D,YAAa,GACb,SAAU,CAAEmB,CAAc,CAC5B,EAEA,OAAAf,EAAM,KACJb,EAAK,oBACLA,EAAK,qBACL0B,EACAC,EACAE,EACAJ,EACAG,EACAJ,EACAhB,EAAM,iBACR,EAEO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,aACT,SAAUK,CACZ,CACF,CAEAf,GAAO,QAAUS,KCt0BjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAuB,WACvBC,EAAuB,WACvBC,EAAgB,CACpB,MAAOF,EACP,IAAKC,EACL,SAAU,CAAE,MAAO,CACrB,EACME,EAAW,CACfJ,EAAK,QAAQ,QAAUC,EAAuB,IAAK,GAAG,EACtDD,EAAK,QACH,KAAOC,EACPC,EACA,CACE,SAAU,CAAEC,CAAc,EAC1B,UAAW,EACb,CACF,CACF,EACA,MAAO,CACL,KAAM,MACN,SAAU,CACR,SAAUH,EAAK,oBACf,QAAS,iBACT,QAAS,0FACT,SAEE,slCAcJ,EACA,SAAUI,EAAS,OAAO,CACxB,CACE,UAAW,WACX,cAAe,WACf,IAAK,MACL,SAAU,CACRJ,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,mDAAoD,CAAC,EAC5F,CACE,UAAW,SACX,MAAO,MACP,eAAgB,GAChB,SAAUI,CACZ,CACF,EAAE,OAAOA,CAAQ,CACnB,EACAJ,EAAK,cACLA,EAAK,iBACLA,EAAK,kBACL,CACE,UAAW,SACX,MAAOC,EACP,IAAKC,EACL,SAAU,CAAEC,CAAc,EAC1B,UAAW,CACb,CACF,CAAC,CACH,CACF,CAEAL,GAAO,QAAUC,KC/EjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CAEtB,IAAMC,EAAW,CACf,UAAW,WACX,SAAU,CACR,CACE,MAAO,SAAWD,EAAK,oBAAsB,MAC7C,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CAAE,MAAO,gBAAiB,CAC5B,CACF,EAEME,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRF,EAAK,iBACLC,CACF,CACF,EAEME,EAAO,CACX,UAAW,WACX,MAAO,eACP,IAAK,KACL,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CAAEF,CAAS,CACvB,EAEMG,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCrFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAM,CAAE,SAAU,CACtB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAON,EAAM,OACb,iDAGA,uBACF,CAAE,EACF,CACE,MAAO,gBACP,UAAW,CACb,CACF,CAAE,EACIO,EAAkB,CACtBR,EAAK,iBACLK,EACAE,CACF,EACME,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,GACF,EAMMC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,QAAU,CACxD,IAAMC,EAAUD,IAAU,MACtBA,EACAZ,EAAM,OAAOY,EAAOD,CAAI,EAC5B,OAAOX,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAE,EACA,oBACAD,EACAV,CACF,CACF,EAMMY,EAAY,CAACJ,EAAQC,EAAMC,IACxBZ,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAC,EACAV,CACF,EAEIa,EAAwB,CAC5BT,EACAP,EAAK,kBACLA,EAAK,QACH,OACA,OACA,CAAE,eAAgB,EAAK,CACzB,EACAM,EACA,CACE,UAAW,SACX,SAAUE,EACV,SAAU,CACR,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,gBACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,UACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAER,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,eACP,UAAW,CACb,CACF,CACF,EACA,CACE,UAAW,SACX,MAAO,4EACP,UAAW,CACb,EACA,CACE,MAAO,WAAaA,EAAK,eAAiB,gDAC1C,SAAU,kCACV,UAAW,EACX,SAAU,CACRA,EAAK,kBACL,CACE,UAAW,SACX,SAAU,CAER,CAAE,MAAOU,EAAiB,SAAUT,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,CAAC,CAAE,EAEtF,CAAE,MAAOC,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,CACpD,EACA,UAAW,CACb,EACA,CACE,UAAW,SACX,SAAU,CACR,CAGE,MAAO,aACP,UAAW,CACb,EAEA,CAAE,MAAOK,EAAU,YAAa,KAAM,IAAI,CAAE,EAE5C,CAAE,MAAOA,EAAU,OAAQd,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,EAAG,IAAI,CAAE,EAEnF,CAAE,MAAOM,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,CACzC,CACF,CACF,CACF,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,uBACL,WAAY,GACZ,UAAW,EACX,SAAU,CAAEf,EAAK,UAAW,CAC9B,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,aACP,IAAK,YACL,YAAa,cACb,SAAU,CACR,CACE,MAAO,QACP,IAAK,IACL,UAAW,SACb,CACF,CACF,CACF,EACA,OAAAK,EAAM,SAAWW,EACjBV,EAAO,SAAWU,EAEX,CACL,KAAM,OACN,QAAS,CACP,KACA,IACF,EACA,SAAUZ,EACV,SAAUY,CACZ,CACF,CAEAlB,GAAO,QAAUC,KCtdjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAW,CACf,MAAO,WACP,MAAO,OAASF,CAClB,EACMG,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBR,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtES,EAAgBT,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOO,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUV,EAAK,kBAAkB,SAAS,OAAOO,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASb,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKc,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,UACF,EAsBMC,EAAW,CACf,QAASF,EACT,SAhBgBG,IAAU,CAE1B,IAAMC,GAAS,CAAC,EAChB,OAAAD,GAAM,QAAQE,IAAQ,CACpBD,GAAO,KAAKC,EAAI,EACZA,GAAK,YAAY,IAAMA,GACzBD,GAAO,KAAKC,GAAK,YAAY,CAAC,EAE9BD,GAAO,KAAKC,GAAK,YAAY,CAAC,CAElC,CAAC,EACMD,EACT,GAIoBL,CAAQ,EAC1B,SAAUE,CACZ,EAIMK,EAAqBH,IAClBA,GAAM,IAAIE,IACRA,GAAK,QAAQ,SAAU,EAAE,CACjC,EAGGE,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACAxB,EAAM,OAAOa,EAAY,GAAG,EAE5Bb,EAAM,OAAO,MAAOuB,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrEf,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAE,EAEIsB,EAAqBzB,EAAM,OAAOE,EAAU,YAAY,EAExDwB,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL1B,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACL,KACA,OACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,CACF,EACA,MAAO,CAAE,EAAG,aAAe,CAC7B,EACA,CACE,MAAO,CACLG,EACA,KACA,OACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,CACF,CAAE,EAEIwB,GAAiB,CACrB,MAAO,OACP,MAAO3B,EAAM,OAAOE,EAAUF,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CAC/E,EACM4B,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAUT,EACV,SAAU,CACRQ,GACAvB,EACAsB,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,CACF,EACMK,GAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA7B,EAAM,OAAO,wBAAyBuB,EAAkBN,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKM,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhB,EACAF,EAAM,OAAOa,EAAY,GAAG,EAC5Bb,EAAM,UAAU,QAAQ,CAC1B,EACA,MAAO,CAAE,EAAG,uBAAyB,EACrC,SAAU,CAAE4B,CAAY,CAC1B,EACAA,EAAY,SAAS,KAAKC,EAAe,EAEzC,IAAMC,GAAqB,CACzBH,GACAD,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,EAEMO,GAAa,CACjB,MAAO/B,EAAM,OAAO,SAAUG,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAASa,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,OACA,GAAGc,EACL,CACF,EACA,GAAGA,GACH,CACE,MAAO,OACP,MAAO3B,CACT,CACF,CACF,EAEA,MAAO,CACL,iBAAkB,GAClB,SAAUgB,EACV,SAAU,CACRY,GACAhC,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAM,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,GACAH,EACA,CACE,MAAO,CACL,QACA,KACAxB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAsB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxBzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUoB,EACV,SAAU,CACR,OACAf,EACAsB,EACA3B,EAAK,qBACLe,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtChB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAe,EACAC,CACF,CACF,CACF,CAEAlB,GAAO,QAAUC,KCpmBjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAA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AO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOD,EAAM,OACX,KACA,oCACAD,EAAK,SACLC,EAAM,UAAU,OAAO,CAAC,CAC5B,EACME,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUP,EAAK,SAAW,KAC1B,KAAMO,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRN,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CAAE,MAAO,iCAAkC,CAC7C,CACF,EACA,CACE,UAAW,SACX,MAAO,yBACT,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBG,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EAAK,oBACL,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOA,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUM,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChTjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAYV,SAASC,GAAKN,EAAM,CAClB,IAAMO,EAAQR,GAAMC,CAAI,EAClBQ,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBAGLO,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNP,EAAK,kBACLA,EAAK,iBACLO,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAZ,EAAK,kBACLA,EAAK,iBACLO,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAT,GAAO,QAAUQ,KCvtBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MAC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A,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cAC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ACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,GAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAGA,QAAWmE,K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AUC,KCjMjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,G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QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAA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,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,EAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,EAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,EAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,EAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,EAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,EAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,EAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,EAAgBhF,EAAK,2BAA2B,EAChDiF,EAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5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", + "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.9.0\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n
    ${unsafeHTML(icon)}
    \n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n private _disabled = false;\n\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n value\n ? this.setAttribute(\"disabled\", \"\")\n : this.removeAttribute(\"disabled\");\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nif (!customElements.get(CHAT_MESSAGE_TAG)) {\n customElements.define(CHAT_MESSAGE_TAG, ChatMessage);\n}\nif (!customElements.get(CHAT_USER_MESSAGE_TAG)) {\n customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\n}\nif (!customElements.get(CHAT_MESSAGES_TAG)) {\n customElements.define(CHAT_MESSAGES_TAG, ChatMessages);\n}\nif (!customElements.get(CHAT_INPUT_TAG)) {\n customElements.define(CHAT_INPUT_TAG, ChatInput);\n}\nif (!customElements.get(CHAT_CONTAINER_TAG)) {\n customElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n}\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], + "mappings": "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,EAED,IAAMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBL,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMM,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKE,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAV,EAAK,YACLE,CACF,CACF,EACMS,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBZ,EAAK,QAAQ,CACjC,OAAQ,IAAIW,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMc,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAZ,EAAK,QAAQ,EACba,EACAH,EACAV,EAAK,kBACLK,EACAW,EACAV,EACAC,EACAC,EACAC,EACAP,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCtYjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,IACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAGIE,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAsEhEc,EAAW,CACf,QArEiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EA6BE,KA3Bc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,WACA,aACA,aACA,aACA,cAEA,QACA,SAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMX,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOX,EACP,SAAUW,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEb,EAAK,QAAQY,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRZ,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUO,EACV,UAAW,EACX,SAAU,CACR,OACAZ,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOX,EAAK,SAAW,KACvB,SAAUc,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCd,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcW,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAhB,GAAO,QAAUC,KC7TjB,IAAAmB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBACfC,EAAuB,WACvBC,EAAmB,cACrBH,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAASI,CAAoB,EACvD,IAEIE,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAIMC,EAAoB,uDACpBC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAET,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAAkBQ,EAAoB,MAC7C,IAAK,IACL,QAAS,GACX,EACAR,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMU,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,uFAA2F,EACpG,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAX,EAAK,QAAQS,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAP,EACAF,EAAK,oBACP,CACF,EAEMY,EAAa,CACjB,UAAW,QACX,MAAOX,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMa,EAAiBZ,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEc,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOhB,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMmB,EAAsB,CAC1BD,EACAR,EACAJ,EACAL,EACAF,EAAK,qBACLU,EACAD,CACF,EAEMY,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,GAAuB,CAC3B,UAAW,WACX,MAAO,IAAMhB,EAAmB,eAAiBO,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOf,EACP,SAAUe,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRhB,EACAF,EAAK,qBACLS,EACAC,EACAH,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUW,EACV,UAAW,EACX,SAAU,CACR,OACAhB,EACAF,EAAK,qBACLS,EACAC,EACAH,CACF,CACF,CACF,CACF,EACAA,EACAL,EACAF,EAAK,qBACLW,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,EACAC,GACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,4MACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAX,CACF,CACF,EACA,CACE,MAAOP,EAAK,SAAW,KACvB,SAAUkB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEApB,GAAO,QAAUC,KCvjBjB,IAAAwB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,QACA,QACA,KACA,aACA,SACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBV,EAAK,QAAQS,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUL,CACZ,EACMM,EAAcZ,EAAK,QAAQW,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBb,EAAK,iBACLY,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqCf,EAAK,QAAQc,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAY,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMgB,EAAS,CAAE,SAAU,CACzBF,EACAD,EACAJ,EACAT,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIiB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BV,CACF,CACF,EACMW,EAAgBlB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFmB,EAAgB,CAGpB,MAAO,IAAMnB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAgB,EACAR,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAU,EACAjB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMkB,EAAgB,SAAWlB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLiB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUX,EACV,UAAW,EACX,SAAU,CACRU,EACAR,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAmB,CACF,CACF,CACF,CAEArB,GAAO,QAAUC,KC/YjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAUV,SAASC,GAAIN,EAAM,CACjB,IAAMO,EAAQP,EAAK,MACbQ,EAAQT,GAAMC,CAAI,EAClBS,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdb,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRQ,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAH,GAAO,QAAUQ,KCjuBjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EA+BtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CApCG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAkBIX,EACAG,EACAI,EACAC,EAnBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAgBIT,EACAD,EACAK,EACAF,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KChPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EAIlB,IAAMC,EAAgB,QAEhBC,GAAiB,kCACjBC,EAAa,iDAEbC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUJ,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAAOC,EAAgB,IAAMC,GAAiB,IAAMC,EAAa,WACxE,OAAQ,CACN,IAAK,IACL,SAAUb,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOmB,EAAW,EAClB,OAAOX,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAqB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOA,EAAK,YAAc,MAC1B,UAAW,CACb,EACAA,EAAK,aACP,CACF,EACA,CAAE,MAAO,IACT,EA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AAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAoE3FE,EAAW,CACf,QApEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,SACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KChSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA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B,IACtH,EACMQ,EAAa,CACjB,UAAW,OACX,MAAO,IAAMR,EAAK,oBAClB,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRA,EAAK,QAAQM,EAAQ,CAAE,UAAW,QAAS,CAAC,EAC5C,MACF,CACF,CACF,CACF,EAKMG,EAAqBX,GACrBY,EAAwBV,EAAK,QACjC,OAAQ,OACR,CAAE,SAAU,CAAEA,EAAK,oBAAqB,CAAE,CAC5C,EACMW,EAAoB,CAAE,SAAU,CACpC,CACE,UAAW,OACX,MAAOX,EAAK,mBACd,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAC,CACb,CACF,CAAE,EACIY,EAAqBD,EAC3B,OAAAC,EAAmB,SAAS,CAAC,EAAE,SAAW,CAAED,CAAkB,EAC9DA,EAAkB,SAAS,CAAC,EAAE,SAAW,CAAEC,CAAmB,EAEvD,CACL,KAAM,SACN,QAAS,CACP,KACA,KACF,EACA,SAAUX,EACV,SAAU,CACRD,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EACAA,EAAK,oBACLU,EACAR,EACAC,EACAI,EACAC,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,QACL,YAAa,GACb,WAAY,GACZ,SAAUP,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAOD,EAAK,oBAAsB,UAClC,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBAC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L,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CAAEF,CAAS,CACvB,EAEMG,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCrFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAM,CAAE,SAAU,CACtB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAON,EAAM,OACb,iDAGA,uBACF,CAAE,EACF,CACE,MAAO,gBACP,UAAW,CACb,CACF,CAAE,EACIO,EAAkB,CACtBR,EAAK,iBACLK,EACAE,CACF,EACME,EAAe,CACnB,IACA,KACA,KACA,KACA,IACA,IACA,GACF,EAMMC,EAAmB,CAACC,EAAQC,EAAMC,EAAQ,QAAU,CACxD,IAAMC,EAAUD,IAAU,MACtBA,EACAZ,EAAM,OAAOY,EAAOD,CAAI,EAC5B,OAAOX,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAE,EACA,oBACAD,EACAV,CACF,CACF,EAMMY,EAAY,CAACJ,EAAQC,EAAMC,IACxBZ,EAAM,OACXA,EAAM,OAAO,MAAOU,EAAQ,GAAG,EAC/BC,EACA,oBACAC,EACAV,CACF,EAEIa,EAAwB,CAC5BT,EACAP,EAAK,kBACLA,EAAK,QACH,OACA,OACA,CAAE,eAAgB,EAAK,CACzB,EACAM,EACA,CACE,UAAW,SACX,SAAUE,EACV,SAAU,CACR,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,kBACP,IAAK,MACL,UAAW,CACb,EACA,CACE,MAAO,gBACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,UACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAER,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,eACP,UAAW,CACb,CACF,CACF,EACA,CACE,UAAW,SACX,MAAO,4EACP,UAAW,CACb,EACA,CACE,MAAO,WAAaA,EAAK,eAAiB,gDAC1C,SAAU,kCACV,UAAW,EACX,SAAU,CACRA,EAAK,kBACL,CACE,UAAW,SACX,SAAU,CAER,CAAE,MAAOU,EAAiB,SAAUT,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,CAAC,CAAE,EAEtF,CAAE,MAAOC,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,EAClD,CAAE,MAAOA,EAAiB,SAAU,MAAO,KAAK,CAAE,CACpD,EACA,UAAW,CACb,EACA,CACE,UAAW,SACX,SAAU,CACR,CAGE,MAAO,aACP,UAAW,CACb,EAEA,CAAE,MAAOK,EAAU,YAAa,KAAM,IAAI,CAAE,EAE5C,CAAE,MAAOA,EAAU,OAAQd,EAAM,OAAO,GAAGQ,EAAc,CAAE,QAAS,EAAK,CAAC,EAAG,IAAI,CAAE,EAEnF,CAAE,MAAOM,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,EACvC,CAAE,MAAOA,EAAU,OAAQ,KAAM,IAAI,CAAE,CACzC,CACF,CACF,CACF,EACA,CACE,UAAW,WACX,cAAe,MACf,IAAK,uBACL,WAAY,GACZ,UAAW,EACX,SAAU,CAAEf,EAAK,UAAW,CAC9B,EACA,CACE,MAAO,UACP,UAAW,CACb,EACA,CACE,MAAO,aACP,IAAK,YACL,YAAa,cACb,SAAU,CACR,CACE,MAAO,QACP,IAAK,IACL,UAAW,SACb,CACF,CACF,CACF,EACA,OAAAK,EAAM,SAAWW,EACjBV,EAAO,SAAWU,EAEX,CACL,KAAM,OACN,QAAS,CACP,KACA,IACF,EACA,SAAUZ,EACV,SAAUY,CACZ,CACF,CAEAlB,GAAO,QAAUC,KCtdjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAW,CACf,MAAO,WACP,MAAO,OAASF,CAClB,EACMG,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBR,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtES,EAAgBT,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOO,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUV,EAAK,kBAAkB,SAAS,OAAOO,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASb,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKc,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,mBACA,mBACA,uBACA,sBACA,gBACA,oBACA,iBACA,aACA,iBACA,yBACA,2BACA,kCACA,6BACA,0BACA,oBACA,4BACA,yBACA,wBACA,gBACA,mBACA,mBACA,sBACA,cACA,gBACA,gBACA,UACA,aACA,aACA,mBACA,cACA,mBACA,WACA,WACA,aACA,oBACA,YACA,qBACA,2BACA,sBAGA,cACA,aACA,UACA,QACA,YACA,WACA,oBACA,eACA,aACA,YACA,cACA,WACA,gBACA,UAGA,YACA,yBACA,SACA,kBACA,OACA,SACA,UACF,EAsBMC,EAAW,CACf,QAASF,EACT,SAhBgBG,IAAU,CAE1B,IAAMC,GAAS,CAAC,EAChB,OAAAD,GAAM,QAAQE,IAAQ,CACpBD,GAAO,KAAKC,EAAI,EACZA,GAAK,YAAY,IAAMA,GACzBD,GAAO,KAAKC,GAAK,YAAY,CAAC,EAE9BD,GAAO,KAAKC,GAAK,YAAY,CAAC,CAElC,CAAC,EACMD,EACT,GAIoBL,CAAQ,EAC1B,SAAUE,CACZ,EAIMK,EAAqBH,IAClBA,GAAM,IAAIE,IACRA,GAAK,QAAQ,SAAU,EAAE,CACjC,EAGGE,EAAmB,CAAE,SAAU,CACnC,CACE,MAAO,CACL,MACAxB,EAAM,OAAOa,EAAY,GAAG,EAE5Bb,EAAM,OAAO,MAAOuB,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACrEf,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAE,EAEIsB,EAAqBzB,EAAM,OAAOE,EAAU,YAAY,EAExDwB,EAAsC,CAAE,SAAU,CACtD,CACE,MAAO,CACL1B,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACL,KACA,OACF,EACA,MAAO,CAAE,EAAG,mBAAqB,CACnC,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,EACAyB,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,EACA,CACE,MAAO,CACLtB,EACAH,EAAM,OACJ,KACAA,EAAM,UAAU,aAAa,CAC/B,CACF,EACA,MAAO,CAAE,EAAG,aAAe,CAC7B,EACA,CACE,MAAO,CACLG,EACA,KACA,OACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,mBACL,CACF,CACF,CAAE,EAEIwB,GAAiB,CACrB,MAAO,OACP,MAAO3B,EAAM,OAAOE,EAAUF,EAAM,UAAU,GAAG,EAAGA,EAAM,UAAU,QAAQ,CAAC,CAC/E,EACM4B,EAAc,CAClB,UAAW,EACX,MAAO,KACP,IAAK,KACL,SAAUT,EACV,SAAU,CACRQ,GACAvB,EACAsB,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,CACF,EACMK,GAAkB,CACtB,UAAW,EACX,MAAO,CACL,KAEA7B,EAAM,OAAO,wBAAyBuB,EAAkBN,CAAG,EAAE,KAAK,MAAM,EAAG,IAAKM,EAAkBL,CAAS,EAAE,KAAK,MAAM,EAAG,MAAM,EACjIhB,EACAF,EAAM,OAAOa,EAAY,GAAG,EAC5Bb,EAAM,UAAU,QAAQ,CAC1B,EACA,MAAO,CAAE,EAAG,uBAAyB,EACrC,SAAU,CAAE4B,CAAY,CAC1B,EACAA,EAAY,SAAS,KAAKC,EAAe,EAEzC,IAAMC,GAAqB,CACzBH,GACAD,EACA3B,EAAK,qBACLe,EACAC,EACAS,CACF,EAEMO,GAAa,CACjB,MAAO/B,EAAM,OAAO,SAAUG,CAAyB,EACvD,WAAY,OACZ,IAAK,IACL,SAAU,OACV,SAAU,CACR,QAASa,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,SAAU,CACR,QAASA,EACT,QAAS,CACP,MACA,OACF,CACF,EACA,SAAU,CACR,OACA,GAAGc,EACL,CACF,EACA,GAAGA,GACH,CACE,MAAO,OACP,MAAO3B,CACT,CACF,CACF,EAEA,MAAO,CACL,iBAAkB,GAClB,SAAUgB,EACV,SAAU,CACRY,GACAhC,EAAK,kBACLA,EAAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAM,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,GACAH,EACA,CACE,MAAO,CACL,QACA,KACAxB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAsB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxBzB,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUoB,EACV,SAAU,CACR,OACAf,EACAsB,EACA3B,EAAK,qBACLe,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtChB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAe,EACAC,CACF,CACF,CACF,CAEAlB,GAAO,QAAUC,KCpmBjB,IAAAkC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAA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AO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOD,EAAM,OACX,KACA,oCACAD,EAAK,SACLC,EAAM,UAAU,OAAO,CAAC,CAC5B,EACME,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUP,EAAK,SAAW,KAC1B,KAAMO,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRN,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CAAE,MAAO,iCAAkC,CAC7C,CACF,EACA,CACE,UAAW,SACX,MAAO,yBACT,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBG,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EAAK,oBACL,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,EAAK,mBACP,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOA,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUM,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KChTjB,IAAAS,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAO,CACX,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,IACA,IACA,QACA,OACA,UACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAGMC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAGMC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAEMC,GAAa,CACjB,gBACA,cACA,aACA,MACA,YACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,4BACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,oBACA,kBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,uBACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,UACA,qBACA,oBACA,gBACA,MACA,YACA,aACA,SACA,YACA,UACA,cACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,YACA,mBACA,iBACA,eACA,aACA,iBACA,eACA,oBACA,0BACA,yBACA,uBACA,wBACA,0BACA,cACA,MACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,cACA,YACA,kBACA,OACA,iBACA,aACA,cACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,gBACA,aACA,aACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,mBACA,oBACA,oBACA,QACA,cACA,eACA,cACA,qBACA,iBACA,WACA,SACA,SACA,OACA,aACA,cACA,QACA,UACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,QACA,WACA,MACA,WACA,eACA,aACA,iBACA,kBACA,uBACA,kBACA,wBACA,uBACA,wBACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,iBACA,0BACA,MACA,YACA,gBACA,mBACA,kBACA,aACA,mBACA,sBACA,sBACA,6BACA,eACA,iBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,SAGF,EAAE,QAAQ,EAYV,SAASC,GAAKN,EAAM,CAClB,IAAMO,EAAQR,GAAMC,CAAI,EAClBQ,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRZ,EAAK,oBACLA,EAAK,qBAGLO,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNP,EAAK,kBACLA,EAAK,iBACLO,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAZ,EAAK,kBACLA,EAAK,iBACLO,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAT,GAAO,QAAUQ,KCvtBjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MAC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A,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cAC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ACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,GAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAGA,QAAWmE,K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AUC,KCjMjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,SACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,G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QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAA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,CC/LO,IAAMC,GAAOzE,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACN,EAGY0E,GAAM1E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACR,EAEY2E,GAAa3E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACf,EAMY4E,GAAgB5E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACN,EAEY6E,EAAS7E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACd,EAIY8E,EAAmB9E,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACP,EAEY+E,EAAO/E,EAAO,CAAC,OAAO,CAAC,ECrRvByE,EAAOzE,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACP,EAEY0E,EAAM1E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACb,EAEY6E,EAAS7E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYgF,EAAMhF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACd,EC1WYiF,EAAgBhF,EAAK,2BAA2B,EAChDiF,EAAWjF,EAAK,uBAAuB,EACvCkF,GAAclF,EAAK,eAAe,EAClCmF,GAAYnF,EAAK,4BAA4B,EAC7CoF,GAAYpF,EAAK,gBAAgB,EACjCqF,GAAiBrF,EAC5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", "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "TEMPLATE_ARGUMENT_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "CHARACTER_ESCAPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "SIMPLE_PROMPT", "DEFAULT_PROMPT", "RVM_PROMPT", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "VAR", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "reduceRelevancy", "list", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "STRING", "CONTAINER_STRING", "DATE_RE", "TIME_RE", "FRACTION_RE", "ZONE_RE", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayPop", "pop", "arrayPush", "push", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "numberIsNaN", "isNaN", "func", "thisArg", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "undefined", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "createDOMPurify", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "Element", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "MAX_NESTING_DEPTH", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "parentNode", "removeChild", "remove", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "elm", "__depth", "__removalCount", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHook", "entryPoint", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "childCount", "i", "childClone", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "attr", "forceKeepAttr", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "import_dompurify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "DOMPurify", "node", "data", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "entries", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] } From 19dc82318cd09621eb692857c21029c3a40f8565 Mon Sep 17 00:00:00 2001 From: Carson Sievert Date: Tue, 13 May 2025 15:03:07 -0500 Subject: [PATCH 5/5] Update js/chat/chat.ts Co-authored-by: Garrick Aden-Buie --- js/chat/chat.ts | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/js/chat/chat.ts b/js/chat/chat.ts index 8b1bdccd5..d34e077ca 100644 --- a/js/chat/chat.ts +++ b/js/chat/chat.ts @@ -528,21 +528,19 @@ class ChatContainer extends LightElement { // ------- Register custom elements and shiny bindings --------- -if (!customElements.get(CHAT_MESSAGE_TAG)) { - customElements.define(CHAT_MESSAGE_TAG, ChatMessage); -} -if (!customElements.get(CHAT_USER_MESSAGE_TAG)) { - customElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage); -} -if (!customElements.get(CHAT_MESSAGES_TAG)) { - customElements.define(CHAT_MESSAGES_TAG, ChatMessages); -} -if (!customElements.get(CHAT_INPUT_TAG)) { - customElements.define(CHAT_INPUT_TAG, ChatInput); -} -if (!customElements.get(CHAT_CONTAINER_TAG)) { - customElements.define(CHAT_CONTAINER_TAG, ChatContainer); -} +const chatCustomElements = [ + { tag: CHAT_MESSAGE_TAG, component: ChatMessage }, + { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage }, + { tag: CHAT_MESSAGES_TAG, component: ChatMessages }, + { tag: CHAT_INPUT_TAG, component: ChatInput }, + { tag: CHAT_CONTAINER_TAG, component: ChatContainer } +]; + +chatCustomElements.forEach(({ tag, component }) => { + if (!customElements.get(tag)) { + customElements.define(tag, component); + } +}); window.Shiny.addCustomMessageHandler( "shinyChatMessage",